为什么这个Backbone View定义了el undefined和$ el?

pos*_*eid 4 coffeescript backbone.js

我很困惑为什么'''''''在这里未被定义,并且定义了$ el.

未定义的el

背景是使用CoffeeScript进行实验,如下所示:

class FastTodo.Views.AddTodoItem extends Backbone.View

  template: JST['todo_items/add_item']

  el: $('#main')

  render: ->
    console.log("render")
    console.log($("#main"))
    console.log(@el)
    console.log(@)
    $(@el).html @template

  initialize: ->
    @render()

在这种情况下如何渲染视图?

iMo*_*ses 5

尝试重写元素声明 el: '#main'

我认为这应该适合你.

顺便说一下,根据你的控制台日志,jQuery元素($ el)也是空的.您必须在标记完全加载之前声明视图.通过el为元素提供选择器,您可以确保仅在文档准备好(加载)时才会获取它.