即使在 Backbone.Marionette.ItemView 的 onRender 方法中,我也无法访问元素。
例如,我有:
模板:
<input type="text" id="searchBox">`
项目视图:
View = Backbone.Marionette.ItemView.extend
template: searchTemplate
onRender:
@setTypeahead ['a', 'b', 'c', 'd']
setTypeahead: (valueArray) ->
console.log $('#searchBox')
$('#searchBox').typeahead
source: valueArray
出乎意料的是,记录到控制台的对象不包含输入元素。选择器不起作用。这是为什么?
Marionette 的 github 上的小代码块内的注释提到“在这里操作。el
它已经被渲染,并且充满了视图的 HTML,准备好了。” 除非我误解了这一点,否则我认为模板将被渲染并准备好在 ItemView 的 onRender 函数中进行操作。