gpt4 book ai didi

angularjs - 如何访问指令范围内的 ng-repeat 项?

转载 作者:行者123 更新时间:2023-12-02 19:04:23 25 4
gpt4 key购买 nike

如何设置类似这样的范围值:

<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 是在该作用域上定义的。由于您的指令没有创建隔离范围,因此您不需要属性 person,因此这适用于上面的内容:

<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>'
}

关于angularjs - 如何访问指令范围内的 ng-repeat 项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14657591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com