我做一個簡單的郵件界面,我有一個設置,看起來像......如何刪除Angularjs視圖中的dom實例?
<tbody ng-controller="sentboxCtrl">
<tr ng-repeat="message in sent">
<td><input type="checkbox" value="{| message.id |}"></td>
<td><a href="#" value="{| message.id |}" class="view-message-link">{| message['subject'] |}</a></td>
<td>
<img class="attachement" value="{| message.id |}" ng-if="message.attachment" src="{| attachmentIcon |}" width="20" height="20" alt=""></td>
<td>{| message.name |}</td>
<td>{| message.created |}</td>
<td><a href="#" value="{| message.id |}" class="flagMessage"><img value="{| message.id |}" src="{| flagIcon |}" width="20" height="20" alt=""></a></td>
<td><a href="#" value="{| message.id |}" class="deleteMessage" ng-click="delete({| message |})"><img value="{| message.id |}" src="{| deleteIcon |}" width="20" height="20" alt=""></a></td>
</tr>
</tbody>
我的代碼,配置我的控制器如下:
var mailApp = angular.module('mailApp',[]).config(function($interpolateProvider){
$interpolateProvider.startSymbol('{|');
$interpolateProvider.endSymbol('|}');
}
);
var sentboxCtrl = function ($scope){
$scope.sent = initiallySent;
$scope.deleteIcon = deleteIconSource;
$scope.flagIcon = flagIconSource;
$scope.attachmentIcon = attachmentIconSource;
$scope.delete = function(element)
{
delete element;
}
};
mailApp.controller('sentboxCtrl',sentboxCtrl);
現在,因爲我有一個ng-repeat屬性,爲消息傳遞平臺生成我的dom,我想綁定事件ng-click來觸發該行的刪除操作。一個例子是:
<td><a href="#" ng-click="delete(this)" value="{| message.id |}" class="deleteMessage" ng-click="delete({| message |})"><img value="{| message.id |}" src="{| deleteIcon |}" width="20" height="20" alt=""></a></td>
是否有可能做到這一點,而不寫入太多的鍋爐代碼?
感謝
如果該行從NG重複產生
HTML,你應該簡單地刪除$ scope.sent的元素。 – pasine
我該怎麼做? –