2013-02-16 4 views
1

Что здесь не так? Почему contentBinding в представлении не работает?EmberJS: contentBinding не работает

Выход
содержание ввиду неопределенной

router.coffee

App.Router.map -> 
    @route "show" 
    @route "intro", 

intro_controller.coffee

App.IntroController = Ember.ArrayController.extend 

    content: [] 

    createRecords:(files) -> 
    @set('content', Ember.A()) 

    person = Ember.Object.create(username: "hello world") 
    @pushObject person 
    console.info "content in controller", @get('content') 

    @transitionTo 'show' 

show_view.coffee

App.ShowView = Ember.View.extend 

    contentBinding: 'App.IntroController.content', 

    didInsertElement: -> 
    console.info "content in view", @get('content') 

ответ

0

Это потому, что App.IntroController является подклассом Ember.Object, а не экземпляром.

Вам нужен App.ShowController, который указывает, что он нуждается в :

App.ShowController = Ember.Controller.extend({ 
    needs: ['intro'] 
}); 

И тогда в представлении вы будете иметь доступ к: controllers.intro.content.

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