簡體   English   中英

追加JQuery元素和Angular

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM