3

我试图在运行时向我的页面添加几个按钮。创建按钮并将其推送到容器视图中。请参阅下面的 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>

那里没有数据余烬动作。

我应该使用这种方法还是使用模板中的动作助手?

谢谢,

马丁

4

1 回答 1

1

Ember.View事件处理程序(在您的情况下是click函数)由 Ember 调用,EventDispatcher它侦听应用程序根元素并委托事件。事件分派器仅由Ember.Application. 你在创建一个Application? 如果没有,则永远不会分派事件。

于 2013-06-21T13:14:44.667 回答