这是我的问题:我使用ng-repeat动态创建按钮,并且他们的ng-click不起作用。从我到目前为止发现,我必须编译这些按钮,以确保角度知道新的指令,但我不知道如何做到这一点。我尝试创建一个新的指令,但我必须做错事,因为它仍然无效。
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);
};
}
感谢您的回答。
答案 0 :(得分:1)
ng-repeat
上的语法略有偏差。尝试更改为此并查看它是否有效:
<button ng-click="deleteItem($index)">Delete item</button>
你放在ng-click
中的表达式永远不应该有这样的插值括号。你放在那里的任何东西都已根据当前范围的上下文进行评估。
您尚未编写任何新指令(至少在此示例中显示),因此您无需担心任何新指令。