2013-04-18 7 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 content и div right content с new div with {{data}}

Я еще ничего не пробовал, потому что я понятия не имею, как запустить thi s. И я также знаю, что мы можем сделать это, используя службу общего доступа и передать значение другим ng-controller, но моя проблема заключается в том, как заменить весь div без перехода к другому URL-адресу.

Любая идея?

ответ

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> 

Вы намекнули, что эти две области могут управляться отдельными контроллерами. Если это так, то да, вы должны создать службу, которая обрабатывает значения clicked и data, чтобы их можно было вводить и совместно использовать между двумя контроллерами. Вы можете уточнить свой вопрос, чтобы получить более конкретную помощь.

Смежные вопросы