Backbone View中tagName,id和className属性的用途是什么?虽然我们可以使用el访问dom元素

时间:2013-04-23 14:58:35

标签: javascript model-view-controller backbone.js

为什么在Backbone View中存在属性tagNameidclassName

2 个答案:

答案 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属性。