2013-10-15 26 views
0

我做一個簡單的郵件界面,我有一個設置,看起來像......如何刪除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> 

是否有可能做到這一點,而不寫入太多的鍋爐代碼?

感謝

+0

如果該行從NG重複產生

$scope.delete = function(i) { $scope.sent.splice(i, 1); } 

HTML,你應該簡單地刪除$ scope.sent的元素。 – pasine

+0

我該怎麼做? –

回答

1

在你的控制器:

<a href="#" value="{| message.id |}" class="deleteMessage" ng-click="delete($index)"><img value="{| message.id |}" src="{| deleteIcon |}" width="20" height="20" alt=""></a> 
+0

謝謝!我自己得到了答案,但這正是我所做的。 –

+0

這是重要的。 – lucuma