我正在尝试在运行时向我的页面添加几个按钮。创建按钮并将其推入containerView。请参阅下面的addButtons函数。
给定一个控制器:
RE.MenuController = Em.ArrayController.extend
addButtons: ->
console.log "addButtons"
container = Ember.ContainerView.create()
container.append()
prevButton = RE.ButtonView.create()
container.pushObject(prevButton)
和观点:
RE.ButtonView = Em.View.extend
classNames: 'menuLink'
tagName: 'button'
templateName: 'button'
click: (e) ->
alert 'button clicked'
单击按钮时,我从未看到预期的警报。为什么点击事件不会被触发?
按钮的html如下所示:
<button id="ember420" class="ember-view menuLink">TEST</button>
那里没有数据余烬行动。
我应该使用这种方法还是在模板中使用动作帮助器?
感谢,
马丁
答案 0 :(得分:1)
Ember.View
事件处理程序(在您的情况下,click
函数)由Ember的EventDispatcher
调用,它监听应用程序根元素并委托事件。事件调度程序仅由Ember.Application
实例化。你在创建一个Application
吗?如果没有,则永远不会发送事件。