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

时间:2013-03-01 17:23:20

标签: backbone.js coffeescript

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

undefined 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()

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

1 个答案:

答案 0 :(得分:5)

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

我认为这应该适合你。

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