我创建了一个指令,我正在循环它。我遇到的问题是,由于某种原因,$ scope.name显示从最后指令的名称,即使我做了一个分离范围角度指令共享范围问题
angular.module("testApp")
.controller("testingCtrl","$scope",function($scope) {
infos =[
{
name ="test1"
},
{
name ="test2"
}
]
$scope.init=function(name){
$scope.name=name
}
})
.controller("directiveCtrl",["$scope",function($scope){
console.log("HEY",$scope.name);
}])
.directive("testing",function(){
return{
restrict:"E",
controller:"directiveCtrl",
scope:{
name:"="
},
template:"<h1>{{name}}</h1>"
}
})
<div ng-app="testApp">
<div ng-controller="testingCtrl">
<div ng-repeat="info in infos" ng-init="init(info.name)">
<testing name="name"></testing>
</div>
</div>
</div>
所以它的显示
test2的
TEST2
,但我要的是
test1的
test2
谢谢你的时间。
你为什么要创建一个对象来传递的名字吗? – dwbartz
嗨@dwbartz我想复制更短,更容易阅读代码的情况,因为真正的一个更大,它不适合在这里。 – luis
摆脱ng-init和那个init函数。玩范围很糟糕。 – gyc