【发布时间】:2015-08-24 08:58:31
【问题描述】:
如何正确使用隔离范围属性?
我有一个指令,它从页面控制器调用,并传递了一个属性item,例如<my-directive item="myItem"></my-directive>,包含一个id。
下面的代码将不起作用,因为似乎 $scope.item 在控制器中未定义.. 就像我使用它太快了一样。当我想使用它时,我如何确定它确实被设置了?
app.directive('myDirective', [function() {
return {
restrict: 'E',
templateUrl: 'template.html',
scope: {
item: "="
},
controller: ['$scope', 'ExtendedItemFactory', function($scope, ExtendedItemFactory) {
this.extendedInfo = ExtendedItemFactory.get({ id: $scope.item.id });
}],
controllerAs: 'MyDirectiveCtrl'
};
}]);
【问题讨论】:
标签: angularjs angularjs-directive angularjs-watch controlleras