Backbone.js 页面刷新或页面加载时主干el未定义

Backbone.js 页面刷新或页面加载时主干el未定义,backbone.js,backbone-views,Backbone.js,Backbone Views,为什么页面刷新或页面加载时el未定义?是因为el不存在吗 class ListView extends Backbone.View className: 'channels-list' el: '#main' initialize: -> console.log @el # undefined 没错。如果您定义了el,它应该在DOM结构中可用 在initialize方法中,如果DOM中已经存在,则可以再次使用该方法: @setE

为什么页面刷新或页面加载时el未定义?是因为el不存在吗

class ListView extends Backbone.View

    className: 'channels-list'
    el: '#main'

    initialize: ->
        console.log @el
        # undefined

没错。如果您定义了
el
,它应该在DOM结构中可用

initialize
方法中,如果DOM中已经存在,则可以再次使用该方法:

@setElement $('#main')

没错。如果您定义了
el
,它应该在DOM结构中可用

initialize
方法中,如果DOM中已经存在,则可以再次使用该方法:

@setElement $('#main')

元素必须是标记名或DOM中已经存在的元素。创建新视图时,将:

要避免这种情况,请将脚本标记放在元素标记下方或等待文档加载事件,例如使用jQuery:

jQuery ->
    class ListView extends Backbone.View
        className: 'channels-list'
        el: '#main'
        initialize: ->
            console.log @el

或者,正如Vitaliy所建议的,在
初始化
函数中rest
.el

元素需要是标记名或DOM中已经存在的元素。创建新视图时,将:

要避免这种情况,请将脚本标记放在元素标记下方或等待文档加载事件,例如使用jQuery:

jQuery ->
    class ListView extends Backbone.View
        className: 'channels-list'
        el: '#main'
        initialize: ->
            console.log @el

或者,正如Vitaliy所建议的,在
初始化
函数中使用rest
.el

太好了,这就成功了,我刚刚将它添加到我的主app.js文件中,现在一切都正常了。感谢+1Great,这成功了,我刚刚将它添加到我的主app.js文件中,现在一切都正常了。谢谢+1