1

我想構建一個單頁的應用程序。當用戶點擊特定對象時,我想用另一個組件替換頁面上的當前組件。下面的代碼位於組件的指令中,我可以動態更換我喜歡的任何組件。但是,當我將當前組件換成<detail></detail>時,我還想將一些信息傳遞給<detail></detail>,以便它可以在其控制器中操縱此信息,並在其模板中顯示此信息。

我該如何去做這樣的事情?

var linkFunction = function (scope, element, attributes) { 
    scope.$ctrl.viewDetails = function() { 
    $('#page-wrapper').html($compile('<detail></detail>')(scope)); 
    } 
}; 
+0

我很確定這裏不需要$編譯。它看起來像代碼落入['不要使用Angular與jQuery'類別](http://stackoverflow.com/questions/14994391/thinking-in-angularjs-if-i-have-a-jquery-background) 。只需在指令模板中將'ng-if'與'ng-click'結合起來即可。 – estus

回答

0

您有典型的反模式。你應該這樣做是非常簡單和直接的角度的方式:只需使用ngIf指令。就像這樣:

<one ng-if="condition"></one> 
<detail ng-if="!condition" data="$ctrl.someData"></detail> 
相關問題