【发布时间】:2014-09-23 08:56:53
【问题描述】:
我尝试在指令链接函数中调用父范围内的函数来更新父范围属性之一。
var app = angular.module('myApp', []);
app.controller('MyCtrl', function($scope) {
var users = [{
name: 'Andy',
age: 9
},{
name: 'Tom',
age: 10
},{
name: 'Jerry',
age: 11
},{
name: 'Harry',
age: 12
}];
$scope.users = users;
$scope.currentUser = users[0];
$scope.updateCurrentUser = function(index) {
$scope.currentUser = users[index];
};
});
app.directive('myDirective', function() {
return {
template: '<div><button ng-repeat="user in users">{{ user.name }}</button></div>',
restrict: 'EA',
link: function(scope, element, attrs) {
element.on('click', 'button', function() {
scope.updateCurrentUser($(this).index());
});
}
};
});
假设我点击任意按钮,currentUser 应该会显示更新对应的用户数据。但是,看起来它不起作用。我想知道为什么以及如何解决这个问题?
【问题讨论】:
标签: angularjs angularjs-directive angularjs-scope