2013-04-07 36 views
0

這是我的問題:我用ng-repeat動態創建按鈕,並且它們的ng-click不起作用。從我到目前爲止發現的情況來看,我必須編譯這些按鈕以確保角度知道新的指令,但我不知道該怎麼做。我試圖創建一個新的指令來做這件事,但我必須做一些錯誤的事情,因爲它仍然不起作用。AngularJS - 通過ng-repeat添加編譯元素

HTML:

<div ng-controller="content"> 
    <ul> 
     <li ng-repeat="item in items"> 
      <span>item.text {{$index}}</span> 
      <button ng-click="deleteItem({{$index}})">Delete item</button> 
     </li> 
    </ul> 

    <button ng-click="addItem()">Add item</button> 
</div> 

JS:

function content($scope) { 
    $scope.items = []; 

    $scope.addItem = function() { 
     $scope.items.push({text: "test"}); 
    }; 

    $scope.deleteItem = function(index) { 
     $scope.items.splice(index, 1); 
    }; 
} 

感謝您的答案。

回答

1

您的語法在ng-repeat上略有偏差。嘗試改變這個,看看它的工作原理:

<button ng-click="deleteItem($index)">Delete item</button> 

你把ng-click內不應該有揹帶的插值類似的表達。您放入的任何內容都已經根據當前範圍的上下文進行了評估。

你沒有寫任何新的指令(至少在本例中顯示),所以你應該沒有什麼需要擔心的。

+0

謝謝你的確是:) – 2013-04-07 14:50:20