Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 到底是什么??_Javascript_Backbone.js_Coffeescript_Backbone Views - Fatal编程技术网

Javascript 到底是什么??

Javascript 到底是什么??,javascript,backbone.js,coffeescript,backbone-views,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(

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

view = new Raffler.Views.EntriesIndex(collection: @collection)
$('body').html(view.render().el)
然后在EntriesIndex看来,他做到了:

render: ->
  @$el.html(@template())
我认为使用
@$el
时会说:嘿,在父元素中呈现这个模板(在本例中是主体)…但是它不工作,也不显示任何内容…如果我使用
$('body').html(@template())
,所有工作都很好。
现在…为什么人们在教程中使用
@$el
(我在2-3个教程中看到过)?

在主干中,视图通常存储对其元素的引用,并用jQuery包装。这通常被命名为
This.$el

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


在CoffeeScript中,
@
是此的快捷方式。所以
@$el
的意思就是
这个。$el

@$el=$(this.el)
,或多或少。好吧,但为什么在教程中他们会这样使用呢?比如,如果this.el是$('body')…它在默认情况下是一个简单的div标记…据我所知,在主干网中,将视图附加到现有DOM节点的想法绝对没有错,而且也没有绝对正确的方式来呈现视图。干什么就干什么,这就是主干网的魅力所在:它很灵活,可以满足您的需求,但对我来说,从头开始构建一个灵活、无关联的框架(如主干网)有点令人不安,这就是缺乏“一种真正的方式”来做各种事情。所以,当我以一种似乎有意义的方式做这件事时,我会有一种奇怪的感觉,就像我应该这样做吗?@chridam是的,但我只想了解为什么在许多教程中他们做了一些不起作用的事情……哦,它在控制台中是否显示了任何错误,比如
未捕获的TypeError:Object#没有方法“html”