angularjs – 如何在指令的范围内访问ng重复项?
发布时间:2020-12-17 08:17:31 所属栏目:安全 来源:网络整理
导读:如何设置范围值为这样的: 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 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 }]; }
如果通过“设置范围值”,您的意思是模板工作,然后
template: '<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>' } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |