我在下面的视图中定义了一个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属性,但似乎没有任何工作。
有人可以帮忙吗?
答案 0 :(得分:2)
看起来你的问题是你的目标对象是一个类,而不是一个实例。
您需要创建Lead.Controllers.UrlSearch
控制器的实例,并将其用作按钮上的目标。