2013-04-18 70 views
0

讓說我有一個angularjs更換整個DIV當點擊

<div class="leftbar"> 
<div class="leftcontent> 
This is leftbar 
</div> 
</div> 

和右酒吧

<div class="rightbar"> 
<div class="rightcontent">  
This is rightbar 
<button>I have a button here</button> 
</div> 
</div> 

當點擊rightbar按鈕,我想從哪裏再更換 數據整個div left contentdiv right contentnew div with {{data}}

我還沒有嘗試任何東西,因爲我不知道如何開始硫秒。 而且我也知道我們可以通過使用共享服務並將值傳遞給其他ng-controller來做到這一點,但我的問題是如何在不導航到其他url的情況下替換整個div。

任何想法?

回答

0

對於您所描述的交換類型,ngShow很有用。

<div class="leftbar"> 
    <div class="leftcontent" ng-show="!clicked"> 
     This is leftbar 
    </div> 
    <div class="newleftcontent" ng-show="clicked"> 
     {{data}} 
    </div> 
</div> 

<div class="rightbar"> 
    <div class="rightcontent">  
     This is rightbar 
     <button ng-click="clicked=1">I have a button here</button> 
    </div> 
</div> 

您暗示這兩個區域可能由單獨的控制器運行。如果是這種情況,那麼,是的,您應該創建一個服務來處理clickeddata的值,以便它可以在兩個控制器之間注入和共享。您可能想澄清您的問題以獲得更具體的幫助。