2014-04-26 18 views
6

Làm thế nào tôi có thể thêm các lĩnh vực tùy chỉnh phạm vi góc cùng với các lĩnh vực thông qua như là thuộc tính, như sau:AngularJs tùy chỉnh chỉ thị phạm vi cách ly các trường tùy

angular.module('app') 
    .directive("myDirective", function(){ 
     function NewObj() 
     { 
      this.id = 0; 
      this.name = ""; 
     } 
     return{ 
      restrict: "E", 
      templateUrl:"partials/directives/temp.html", 
      scope:{ 
        viewId:"=", 
        dataObj: new NewObj() //This is the custom obj 
        } 

      } 
     } 

Khi tôi làm như vậy, tôi nhận được phạm vi cô lập không hợp lệ Định nghĩa. Làm cách nào để đạt được điều này?

+0

Dưới đây là một lời giải thích đàng hoàng về phạm vi chỉ thị: http://umur.io/angularjs-directives-using-isolated-scope-with-attributes/ –

Trả lời

5

Phạm vi trong chỉ thị chỉ có thể là một trong '=', '&', '@'. Để làm những gì bạn muốn, bạn có thể thử một cái gì đó như:

angular.module('app') 
.directive("myDirective", function() { 
    function NewObj() { 
     id = 0; 
     this.name = ""; 
    } 
    return { 
     restrict: "E", 
     templateUrl:"partials/directives/temp.html", 
     scope: { 
      viewId:"=",      
     }, 
     controller: ['$scope', function($scope) { 
      $scope.dataObj = new NewObj(); 
     }] 
    }; 
}); 
+0

Thật không may, điều này sẽ không cho phép tôi tái sử dụng cùng một bộ điều khiển (với các tham số khác nhau được truyền trong phạm vi) đối với một số chỉ thị. –

Các vấn đề liên quan