[英]Appending JQuery element and Angular
使用angularJS,我將jQuery DOM元素追加到ng-repeat結構中,並且希望該元素能夠使用我的角度控制器(removeMember)中的方法。 顯然此刻不起作用。 這是我的代碼
$( "#table tbody" ).append( "<tr class="+id_of_member+"><td>"+user_email+"</td><td><a href=\"#/\" ng-click=\"teamCtrl.removeMember("+id_of_member+")\">Remove The Member</a></td></tr>");
顯然,一切正常,但是當我單擊href標記時,nothng會發生(不會單擊ng-click)。 我猜想AngularJS不適用於新添加的元素。 我如何使鏈接有效(從angularjs teamCtrl控制器調用removeMember方法)。
您無需在元素上附加jquery,可以將其立即添加到ng-repeat元素之后。
<table>
<tr ng-repeat="member in memberList">
<td>
member item
</td>
</tr>
<tr>
<td ng-click="removeMember()">
email item
</td>
</tr>
</table>
另外,請確保在控制器的$ scope變量中定義removeMember。
是的,您知道正確的Angular js不適用於新添加的dom元素,因為在angular上下文中編譯后添加了新的DOM元素
為了使其正常工作,您可以重新編譯外部DOM
$( "#table tbody" ).append( "<tr class="+id_of_member+"><td>"+user_email+"</td><td><a href=\"#/\" ng-click=\"teamCtrl.removeMember("+id_of_member+")\">Remove The Member</a></td></tr>");
$compile($( "#table tbody" ));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.