2012-12-14 2 views
1

В моем приложении Ember у меня есть несколько разных меню или nabbers, которые мне нужно отображать в зависимости от раздела приложения, в котором находится пользователь. Каков рекомендуемый способ сделать это? То, что я пытался сделать, это иметь представление в моем шаблоне:Меню условий в Ember.js

{{view App.NavbarView controllerBinding="App.CurrentNavbarController.nav"}} 

И на мой взгляд, я проверяю путь:

App.NavbarView = Ember.View.extend({ 
    templateName: function() { 
     path = App.getPath('router.currentState.path'); 
     //change navbar 
    } 
}); 

Вот где я застрял. Как я могу динамически переключать представления?

ответ

0

Другим способом было бы использовать маршрутизатор для подключения некоторых розеток к Nav view.

В вашей application.handlebars поставить под названием выход:

{{outlet nav}} 

В маршрутизаторе, соедините выход при вводе маршрута:

userRoute: 
    connectOutlets: (router, model)-> 
    # normal stuff here 
    router.get('applicationController').connectOutlet('navbar', 'userNav', model) 
    exit: (router)-> 
    router.get('applicationController').disconnectOutlet 'navbar' 

    subRoute: 
    # still has the navbar outlet connected in a subroute 
0

Один из способов - использовать маршрутизатор для его настройки.

someRoute: 
    connectOutlets: (router, model)-> 
    # ... normal stuff here 
    App.set 'section', 'theNameOfThisSection' 
    exit: (router)-> 
    App.set 'section', '' 

    subRoute: 
    # ... in the sub route, App.section will still be set 
Смежные вопросы