在我的部分应用中,我使用了这种格式的指令:
<child-directive ng-repeat="item in vm.items"></child-directive>
此人可以{{item}}
内child-directive
访问<div ng-repeat="item in vm.items">
<child-directive></child-directive>
<other-directive></other-directive>
</div>
,无需执行任何操作。
现在我想在所有使用相同上下文数据的其他指令中使用相同的指令:
scope
子指令不需要改变上下文数据,它只需要来自内部的信息来显示一个小部件。
我已尝试在此格式的指令中使用angular
.module('myapp.dashboard')
.directive('childDirective', childDirective);
function childDirective() {
var directive = {
restrict: 'E',
templateUrl: 'client/components/child-directive.ng.html',
controller: 'ChildDirectiveController',
controllerAs: 'vm',
scope: {
item: '='
}
};
return directive;
}
:
<child-directive ng-attr-item="{{item}}"></child-directive>
和
ng-repeat
在ng-bind
部分内。然而,这只会引发错误。
我也试过{{1}}而没有运气。
有什么建议吗?
答案 0 :(得分:2)
您正在使用双向范围绑定而不是插值属性。您可以阅读更多in the angular docs
将范围对象更改为:
scope: {
item: '@'
}
或,将模板更改为:
<child-directive ng-attr-item="item"></child-directive>