即使在 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 函数中进行操作。