如何设置范围值为这样的:
<div ng-controller="MyCtrl"> <my-element ng-repeat="p in people" person='p'></my-element> </div>
var myApp = angular.module('myApp',[]); myApp.directive('myElement',function(){ return { restrict: 'E',template: '<div>{{ name }}</div> <div>{{ age }}</div>' } }); function MyCtrl($scope) { $scope.people = [{ name: 'Mike',age: 20 },{name: 'Peter',age: 22 }]; }
如果通过“设置范围值”,您的意思是模板工作,然后
原文链接:/angularjs/144742.htmltemplate: '<div>{{ p.name }}</div> <div>{{ p.age }}</div>'
由于ng-repeat的每次迭代创建一个新的子范围,所以在该范围上定义了p。由于你的指令不是创建一个孤立的范围,你不需要属性的人,所以这适用于上述:
<my-element ng-repeat="p in people"></my-element>
如果你想要一个孤立的范围,使用
<my-element ng-repeat="p in people" person='p'></my-element>
和
return { restrict: 'E',scope: { person: '=' },template: '<div>{{ person.name }}</div> <div>{{ person.age }}</div>' }