编辑:已解决 我的道歉,我的错误是由于完全不相关的东西(ng-click事件中的逻辑)。但欢呼!
ORIGINAL: 我希望一切顺利。
我有一块HTML正在对数组进行ng-repeat:
<div ng-repeat="elem in arr">
<button ng-click="event_lis()">{{elem}}</button>
</div>
和控制器(在coffeescript中)
$scope.arr = [2,3,4,5,6]
$scope.event_lis = ->
console.log "Hello Stack Overflow!"
有些时间过去了,并且有一个完全不相关的事件会添加一个新元素:
new_event = ->
$scope.arr.unshift 1
new_event()
结果呢?我在视图中看到新元素呈现,但由于某种原因,ng-click事件根本没有触发。有什么想法吗?
当然这是一个非常大的项目,所以为了简洁起见,我进行了总结。
答案 0 :(得分:2)
我不确定问题是什么,我做了一个plnkr来重现它并且它有效:
http://plnkr.co/edit/1QBefGy51Yc66C8LvP27?p=preview
JS:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.items = ['first','second'];
$scope.click_event = function(item){
alert('hello '+item+' !');
};
$scope.addElement = function() {
$scope.items.push('third');
};
});
HTML:
<p ng-click='addElement()'>Add element</p>
<ul>
<li ng-repeat="item in items" ng-click='click_event(item)'>{{item}}</li>
</ul>