什么是骨架@ $ el究竟是什么?

时间:2015-01-26 13:07:06

标签: javascript backbone.js coffeescript backbone-views

在许多教程中我看到人们这样做:

view = new Raffler.Views.EntriesIndex(collection: @collection)
$('body').html(view.render().el)

然后在EntriesIndex视图中他做了:

render: ->
  @$el.html(@template())

我认为用@$el说:嘿,在父元素中渲染这个模板(在这种情况下是它的主体)......但是它不起作用而且没有显示任何东西......如果我使用$('body').html(@template())而是一切正常。 现在......为什么人们在教程中使用@$el(我在2-3篇教程中看过这个)?

1 个答案:

答案 0 :(得分:4)

在Backbone中,视图通常存储对其元素的引用,包含在jQuery中。这通常命名为this.$el

$符号表示这不仅仅是一个DOM元素,而是一个完整的jQuery实例。这意味着您可以调用$el.find()$el.children()等方法。

在CoffeeScript中,@this的快捷方式。因此@$el意味着this.$el