ContainerView上的Ember currentViewBinding

时间:2013-04-05 19:32:33

标签: ember.js

我一直在努力学习Ember,并且最近花了很多时间在github上引用Discourse代码库。无论如何,我想实现类似于modal视图方法的内容,并且不理解为什么currentViewBinding无效。

以下是从这些链接引用的信息组合:

App.HeaderController = Ember.Controller.extend
  templateName: 'application/header'
  needs: ['modal']

  toggleLogin: ->
    console.log "HeaderController.toggleLogin"
    @get('controllers.modal').show(App.LoginView.create())

App.ModalController = Ember.Controller.extend
  show: (view) ->
    @set('currentView', view)

App.ModalView = Ember.ContainerView
  currentViewBinding: 'controller.currentView'

  viewChanged: (->
    console.log "Modal view changed"
  ).observes('controller.currentView')

App.LoginView = Ember.View.extend
  templateName: 'modal/login'

我的观点基本上是这样的:

<!-- application.hbs -->
{{render header}}
{{outlet}}

<!-- header.hbs -->
<button {{action toggleLogin}}>Login</button>
{{render modal}}

<!-- modal/login.hbs -->
<h2>Login Form!!</h2>

当我最初加载应用时,当我点击标题模板中的{{action toggleLogin}}按钮时,我会“模式视图已更改 2 控制台日志,除了控制台消息“HeaderController.toggleLogin”之外没有任何反应。

我做错了什么,或者这不是Ember.ContainerView docs对它起作用的意义?

1 个答案:

答案 0 :(得分:0)

解决

1.0.0-rc.1更新为1.0.0-rc.2