为什么在Backbone View中存在tagName
, id
和className
属性?
如果您的视图必须创建自己的元素,也就是说,如果它在实例化时没有el
属性(各种原因,我可以进一步讨论这个问题),则使用这些属性。这样你就有了一个新元素,id为id
,类为className
,属性为attributes
。
你可以在这里找到相关的代码。这个_ensureElement
方法在视图的构造函数中使用。
所有的Backbone视图都有一个el属性。如果在实例化视图时没有传递el,它将创建一个空的DIV
并使用它。
-
现在,只要说你不想使用
DIV
作为容器来渲染你的视图。你希望它是一个UL
代替。只要为视图指定tagName
属性,它就会被使用。 -
如果你想添加一些css类到你的容器,使用
className
-
如果你想添加一些属性给它(例如你想添加
data-*
属性到你的el)使用attributes
属性的骨干视图