AngularJs自定义指令隔离范围自定义字段

时间:2014-04-26 11:01:37

标签: angularjs angularjs-directive angularjs-scope

如何将自定义字段添加到角度范围以及将传递的字段作为属性添加,如下所示:

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
                  }

             }
        }

当我这样做时,我得到无效的隔离范围定义。 如何实现这一目标?

1 个答案:

答案 0 :(得分:8)

指令中的范围只能是' =','&',' @'中的一个。 要做你想做的事,你可以试试:

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();
        }]
    };
});