2014-10-28 118 views
0

我列出採用了棱角分明一個JSON文件,如:如何將ngRepeat內容複製到另一個div?

HTML:

<li ng-repeat="task in tasks"> 
    <h1>{{task.title}}</h1> 
    <small>{{task.date}}</small> 
    <p>{{task.details}}</p> 
    <button ng-click="details($event)" data-title="{{task.title}}" data-date="{{task.date}}" data-details="{{task.details}}"></button> 
</li> 

JS:

$scope.details = function(obj){ 
    var title = obj.target.getAttribute('data-title'), 
     date = obj.target.getAttribute('data-date'); 
    ... 
} 

我通過通過data-attributes的所有內容,當我點擊<button>它調用ng-click,我通過純JavaScript訪問所有data-attributes,並創建一個<div>來包裝這些內容。這種方式工作得很好,但有沒有更容易通過角度獲取這些值的方法?

回答

2

更加簡單和適當的角度來說,是剛剛通過task雖然NG-點擊功能表達和處理程序訪問它,告別從控制器訪問DOM(這是反正壞的)和數據屬性: -

<li ng-repeat="task in tasks"> 
    <h1>{{task.title}}</h1> 
    <small>{{task.date}}</small> 
    <p>{{task.details}}</p> 
    <button ng-click="details(task)"></button> 
</li> 

$scope.details = function(task){ 
    console.log(task); 
    //console.log(this.task); 
} 

Plnkr

+0

這就是我的談話一下!謝謝你,我愛你,國王愛你!簡單得多! s2 – 2014-10-29 00:03:50

+0

@RamonVasconcelos歡迎您.. :) – PSL 2014-10-29 00:05:32

相關問題