1

这里有什么问题?为什么视图中的 contentBinding 不起作用?

视图中的输出
内容未定义

路由器.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')
4

1 回答 1

0

这是因为App.IntroController是 的子类Ember.Object,而不是实例。

你需要一个App.ShowController指定它需要什么的:

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

然后在视图中您将可以访问:controllers.intro.content.

于 2013-02-16T17:17:24.103 回答