我正在尝试从ng-repeat
directive
获取$index
,但只有我被value
安慰,undefiend
控制台为<body ng-controller="main">
<h1>{{index}}</h1>
<new-array index='$index' ng-repeat="value in values">{{value}}</new-array>
</body>
}。
这里有什么问题?
我的代码:
HTML:
var myApp = angular.module('myApp', []);
myApp.controller('main', function ($scope) {
$scope.values = [{"name":"one", "num" : 1}, {"name":"two", "num" : 2}, {"name":"three", "num" : 3}]
$scope.index = 0;
$scope.update = function (num) {
$scope.index = num;
}
});
myApp.directive("newArray", function () {
return {
scope : {
value : "=",
index : "="
},
link : function (scope, element, attrs) {
console.log(scope.value, scope.index)
//reusult as "undefined" 1
}
}
})
JS:
Registration.import(params[:file], params[:analysis_id])
答案 0 :(得分:2)
这个
<new-array index='$index' ng-repeat="value in values">{{value}}</new-array>
应该是
<new-array index='$index' value='value' ng-repeat="value in values">{{value}}</new-array>
答案 1 :(得分:0)
在您的指令中,您将范围设置为
scope : {
value : "=",
index : "="
}
这样您就可以创建一个不从父作用域继承的隔离作用域。所以你必须将值传递给指令作为&#34; simoco&#34;说明。