我正在学习Backbone,我想知道在Backbone中,在我们的视图中定义el
时,el
必须是DOM
中的元素,而不是我们模板中定义的元素?
答案 0 :(得分:1)
我认为它本质上并不重要,除非我遗漏了一些明显的东西,否则我不明白如何定义模板中的el会更安全。
我倾向于将我的el
定义为现有的DOM元素,作为视图模板的包装器,但有时我也会在运行时定义它,具体取决于具体情况。
el
en views
的概念通常与Event bubbling
有关,el
是公共DOM api提供的功能。
通常,这意味着内部元素捕获的事件将传播到外部元素。
就Backbone View对象而言,这意味着当您定义event.stopPropagation()
时,它将充当由View表示的DOM部分的父元素。当您在View对象中为其后代定义事件时,el将注册由其子元素捕获和传播的事件,除非您决定阻止事件冒泡,这可以通过{{1}}来实现。
在我的结论中,我认为你对如何使用这个理论很灵活,而且选择取决于你目前正在处理的情况。
无论如何,这个问题可能有点不正确,因为在它处理事件之前,el必须始终是DOM中的一个元素。