2013-02-25 45 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; 
}