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

为什么在主干视图中存在属性tagNameidclassName

如果视图必须创build自己的元素,也就是说,如果实例化时没有el属性(各种原因,我可以进一步讨论),那么使用这些属性。 所以你将有一个新的元素,id id ,class className和attributes attributes

你可以在这里find相关的代码 。 这个_ensureElement方法在视图的构造函数中使用。

所有Backbone视图都有一个el属性在这里阅读文档 。 如果你在实例化一个视图的时候不传递一个el,它将会创build一个空的DIV并使用它。

  • 现在,只是说你不想使用DIV作为容器来渲染你的视图。 你想它是一个UL而不是。 只需指定您的视图的tagName属性,它将被用来代替。

  • 如果你想添加一些CSS类到你的容器,使用className

  • 如果你想添加一些属性(例如,你想添加data-*属性到你的el)使用骨干视图的attributes属性。