2016-05-13 21 views
0

我已經使用ng-repeat生成列表。在每個列表項中都有一個按鈕。通過點擊按鈕,action()函數觸發並返回值。一旦action()函數返回值我想在 以下做1)在div中插入div()和show消息以及action2按鈕(ng-click =「action2({{return value from action()function}})並通過action()函數傳遞值返回值)。如何在列表視圖中注入動態div並在AngularJS的動態div上激發動作?

下面的代碼片段

<ul class="list-group" ng-repeat="item in items"> 
    <li class="list-group-item">{{item.title}} 
     <div ng-click="action(item.id)">action</div> 
     <INJECT NEW DIV> 
    </li> 
</ul> 

1)上面會生成列表視圖

2)當我點擊動作格,應該處理的行動,並注射產生的DIV(<INJECT NEW DIV>

3)<INJECT NEW DIV> = <div ng-click="action2({{return value from action function}})">Action 2</div>

4)action(item.id)是正常的jquery/javascript函數

回答

0

隨着item.id通$事件抓住點擊的元素,然後使用jquery insertAfter()與期望的屬性插入當前點擊的元素後的新元件

+0

是高達注入新的div(<注入新的DIV>是好的,但當我們注入使用jquery然後angularjs事件不會觸發新注入的div(ng-click =「action2({{return value from action()function}})」)。另外我需要將action()函數的返回值傳遞給注入的div,並僅用於該列表項。因此,對於其他列表項目類似的操作需要將值傳遞給特定列表項目。 –

+0

是否嘗試$ scope。$ apply()。你能展示這個函數的代碼嗎? –

+0

對不起,延遲迴復。基本上行動功能只是爲了追加div var msg ='

action done
'; $(元素)。經過(MSG);在我使用這個action2()之後不是fire事件。你也可以告訴我$ scope.apply()需要添加的地方。謝謝! –