2014-09-22 4 views
0

내 사용자 지정 지시문 템플릿 내에 지시문을 선언하려고합니다. 그 원하는 지시어는 내 지시어 범위에서 필드를 사용해야합니다 참고 :다른 지시어 템플릿의 지시문 : 실행 방법

angular.module('core.directives') 
.directive('containertable', function() { 
    /** 
    * Startup function for directive 
    */ 
    function link(scope, element, attr) { 
      // ...init of scope.childgridoptions object skipped... 
    } 

    return { 
     link: link, 
     restrict: 'E', 
     scope: { data: '='}, 
     template: "<ng-grid='childgridoptions'></ng-grid>" 
    }; 
} 

그것은 내 지시어가 호출 될 때 NG 그리드 지시어는 내 페이지 소스에서 템플릿을 참조 않는다는 사실에도 불구하고, 실행되지 않는 것 같습니다 . 아마도 컴파일해야 할 것 같은가요? 여기

+0

에 따라 지침의 작동 예와 PLUNK 입니까? 그 템플릿이 나타나면 꼭 그래야 할 것 같습니다. 그것은 단서를 제공 할 수 있습니다. –

답변

1

당신이 NG 그리드의 링크 기능이 실행되고 있는지 확인하기 위해 디버거를 사용할 수 귀하의 예를

// main.js 
var app = angular.module('myApp', ['ngGrid']); 
app.controller('MyCtrl', function($scope) { 
    $scope.gridOptions = { data: 'data' }; 
    $scope.myData = [{name: "Moroni", age: 50}, 
        {name: "Tiancum", age: 43}, 
        {name: "Jacob", age: 27}, 
        {name: "Nephi", age: 29}, 
        {name: "Enos", age: 34}]; 
}); 

app.directive('mygrid',function(){ 
    var link = function(scope, element, attrs) { 
    } 
    return { 
    link: link, 
    restrict: 'E', 
    scope: { 
     data: '=', 
     gridoptions: '=' 
    }, 
    template: '<div class="gridStyle" ng-grid="gridoptions"></div>'  
    } 
}); 
+0

감사! 내 경우에는 childGridOtions를 $ scope.gridOptions = {data : 'data'}와 같이 초기화하지 않았습니다. 하지만 $ scope.gridOptions = {data : scope.data}; 그것이 문제였습니다. –