Ember.Button没有开火

时间:2012-02-09 06:00:43

标签: ember.js

我在下面的视图中定义了一个Ember.Button,我无法将click事件处理程序绑定到控制器操作:

<label for="url_search_url">Url</label>
<input id="url_search_url" name="url_search[url]" size="30" type="search" {{bindAttr value="urlSearch.search_url"}}>
{{#view Ember.Button target="Lead.Controllers.UrlSearch" action="search" }}
        Search
{{/view}}

这是我的控制器:

Lead.Controllers.UrlSearch = Ember.Object.extend
  init: ->
    @_super()

    @url_search = Lead.UrlSearch.create()

    @url_search.set('search_url', 'http://www.bdec-online.com/bd-cmpy/bd-cz.cfm')

    @view = Ember.View.create
      controller: @
      urlSearchBinding: 'controller.url_search'
      templateName: 'app/templates/url_search/show'
      didInsertElement: ->
        $('#url_search_url').focus()
      urlSearch: @

    @view.appendTo('#fieldset')

  search: ->
    console.log('got here')

我正在把头发拉出来,我根本看不出我做错了什么。我尝试过设置target属性和targetBinding属性,但似乎没有任何工作。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

看起来你的问题是你的目标对象是一个类,而不是一个实例。

您需要创建Lead.Controllers.UrlSearch控制器的实例,并将其用作按钮上的目标。