我有一個表與此內容:
<tbody>
<tr ng-repeat="result in ctrl.result track by $index">
<td ng-bind="$index+1"></td>
<td ng-bind="::result.title"></td>
<td> <button type="button" class="btn" ng-click='ctrl.deleteItem(result)'>Delete</button></td>
</tr>
</tbody>
而在我的控制,我有:
vm.deleteItem = function (result) {
myService.deleteItem(result.id)
.then(function (response) {
vm.result.splice(result, 1);
});
};
正如你看到的,如果項目被成功刪除,vm.result
已更改。 現在,該項目在db中刪除,所以我們有迴應,然後該項目也從vm.result
中刪除。但列表並未在瀏覽器中更新。
如您所見,我使用controller as
的方法而不是$scope
。
嗨的ID,你在你的HTML中使用vm.result因爲如果u有vm.result控制器的只有$ scope.result纔會被認爲是html的結果,所以在html –
中更改vm.result,你應該嘗試從'ng-bind'中刪除'::'。因爲它不僅是隻讀數據! –
@gayathri,我已經將myController設置爲ctrl。所以我用vm。在控制器和ctrl中。在html中。 – Elnaz