2013-02-25 46 views
7

我有以下的HTML纳克单击

$scope.addName = function() { 
    $scope.names.push($scope.newName); 
    $scope.newName = ''; 
}; 
$scope.delName = function(i) { 
    $scope.names.splice(i, 1); 
}; 

addName()工作正常,但在delName()永远不会被调用。用参数绑定ng-clik到函数是不可能的?

回答

14

错误是在HTML中,NG-重复$指数不应该事先评估:

这是有效的HTML:

<i style="cursor:pointer" ng-click="delName($index)" class="icon-remove"></i> 
+1

我有类似的问题,updateProductState({{product_id}}),它不会触发该函数,但如果我硬编码一个静态值它会工作。任何想法?谢谢 – user1883793 2013-08-20 10:48:34

+5

你尝试过'updateProductState(product_id)'?你不需要ng指令中的{{}}' – 2013-08-20 11:23:41

+0

这就行了!谢谢 – user1883793 2013-08-20 23:24:51

0

该代码似乎对我来说很好,你可以在jsFiddle中隔离你的问题吗?

编辑: 删除了关于拼接不正确的答案,而不是修改为数组。

+0

Plain w rong:'splice'修改原始数组并返回REMOVED项。我的问题是这个函数从来不会被调用。 – 2013-02-25 13:02:09

+0

啊,你说得对,我猜我累了。刚刚回答了关于返回一个新数组的Array.filter的另一个问题。抱歉。 – 2013-02-25 13:08:39

+0

没有问题:) :) – 2013-02-25 13:10:26

0

你可以做如下

<i ng-click="delName($index)" class="icon-remove"></i> 

In css

[ng-click], 
[data-ng-click], 
[x-ng-click] { 
    cursor: pointer; 
}