Я создал одну директиву, и я ее зацикливаю. Проблема у меня в том, что по какой-то причине $ scope.name показывает название от последней директивы, хотя я изолята SCOPESУгловая директива по обмену областью выпуска
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
hi @dwbartz Я пытаюсь воспроизвести сценарий более коротким и более легким для чтения кодом, так как реальный гораздо больше, и он не поместится здесь. – luis
Избавьтесь от ng-init и этой функции init. Игра с прицелом плохая. – gyc