我有一个名为advancedMode
的指令,可以这样放在table
上:
<table advanced-mode>
<tbody>
<tr ng-repeat="user in users">
<td>{{ user.id }}</td>
<td>{{ user.name }}</td>
</tr>
</tbody>
</table>
现在我想将代码添加到我的指令中,以便它监视$scope.users
。但棘手的部分是,我不知道人们会在ng-repeat
中使用哪些变量名称。在这种情况下它是$scope.users
,但它可能就像$scope.orders
。
那么有没有办法在我的指令中获取tr
标签中使用的变量nam?
目前我的指令如下:
.directive('advancedMode', [function() {
restrict: 'A',
scope: {
options: '=',
rows: '=',
},
link: function ($scope, $elem) {
// get list from ng-repeat in tr tag and watch that for changes
}
}]);
答案 0 :(得分:0)
我不确定你的意思
但棘手的部分是,我不知道人们将在ng-repeat中使用哪些变量名称
但是你不能简单地将list变量传递给你的指令,如下所示:
.directive('advancedMode', [function() {
restrict: 'A',
scope: {
list: '=advancedMode',
options: '=',
rows: '=',
},
link: function ($scope, $elem) {
// the list is now in $scope.list
console.log($scope.list);
}
}]);
然后只需在标记中添加列表:
<table advanced-mode="users">