必须Backbone el是Dom中的元素而不是模板中的元素?

时间:2014-10-24 09:56:06

标签: backbone.js

我正在学习Backbone,我想知道在Backbone中,在我们的视图中定义el时,el必须是DOM中的元素,而不是我们模板中定义的元素?

1 个答案:

答案 0 :(得分:1)

我认为它本质上并不重要,除非我遗漏了一些明显的东西,否则我不明白如何定义模板中的el会更安全。
我倾向于将我的el定义为现有的DOM元素,作为视图模板的包装器,但有时我也会在运行时定义它,具体取决于具体情况。

el en views的概念通常与Event bubbling有关,el是公共DOM api提供的功能。
通常,这意味着内部元素捕获的事件将传播到外部元素。

就Backbone View对象而言,这意味着当您定义event.stopPropagation()时,它将充当由View表示的DOM部分的父元素。当您在View对象中为其后代定义事件时,el将注册由其子元素捕获和传播的事件,除非您决定阻止事件冒泡,这可以通过{{1}}来实现。

在我的结论中,我认为你对如何使用这个理论很灵活,而且选择取决于你目前正在处理的情况。
无论如何,这个问题可能有点不正确,因为在它处理事件之前,el必须始终是DOM中的一个元素。