为什么在Backbone View中存在属性tagName
,id
和className
?
答案 0 :(得分:36)
如果您的视图必须创建自己的元素,即如果它在实例化时没有el
属性,则会使用这些属性(各种原因,我可以进一步讨论此事)。因此,您将拥有一个标识为id
,类className
和属性attributes
的新元素。
您可以找到relevant piece of code here。这个_ensureElement
方法用在视图的构造函数中。
答案 1 :(得分:22)
所有Backbone视图都有一个el属性Read doc here。
如果在实例化视图时未传递el,则会创建一个空DIV
并使用它。
现在,只是说您不想使用DIV
作为容器来呈现您的视图。您希望它是UL
。只需为您的视图指定tagName
属性,即可使用它。
如果您想为容器添加一些css类,请使用className
。
如果您想为其添加一些属性(例如,您想要向您的el添加data-*
属性)请使用Backbone视图的attributes
属性。