ng-repeat中的动态元素; NG-点击

时间:2014-07-24 19:30:26

标签: javascript angularjs angularjs-ng-click

编辑:已解决 我的道歉,我的错误是由于完全不相关的东西(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事件根本没有触发。有什么想法吗?

当然这是一个非常大的项目,所以为了简洁起见,我进行了总结。

1 个答案:

答案 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>