javascript Backbone 视图中 tagName、id 和 className 属性的用途是什么?虽然我们可以使用 el 访问 dom 元素
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/16172671/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
What is use of tagName, id, and className properties in Backbone View? While we can access dom element with el
提问by ali asad
Why do the properties tagName
, id
and className
exist in a Backbone View?
为什么属性tagName
,id
和className
存在于主干视图中?
回答by Loamhoof
Those properties are used if your view has to create its own element, that is, if it doesn't have a el
attribute when instantiated (various reasons, I can go further in the matter). So you'll have a new element with the id id
, classes className
and attributes attributes
.
如果您的视图必须创建自己的元素,也就是说,如果它el
在实例化时没有属性(各种原因,我可以在这件事上更进一步),则会使用这些属性。因此,您将拥有一个带有 id id
、 classesclassName
和 attributes的新元素attributes
。
You can find the relevant piece of code here. This _ensureElement
method is used in the view's constructor.
回答by sachinjain024
All Backbone views have an el property Read doc here.
If you do not pass an el while instantiating a view, it will create an empty DIV
and use it.
所有 Backbone 视图都有一个 el 属性Read doc here。如果在实例化视图时没有传递 el,它将创建一个空的DIV
并使用它。
Now, just say you do not want to use
DIV
as the container to render your view. You want it to be aUL
instead. Just specify thetagName
property for your view and it will be used instead.If you want to add some css classes to your container, use
className
.If you want to add some attributes to it (For example you want to add
data-*
attributes to your el) use theattributes
property of Backbone view.
现在,只是说您不想
DIV
用作容器来呈现您的视图。你希望它是一个UL
。只需tagName
为您的视图指定属性,它将被使用。如果您想向容器中添加一些 css 类,请使用
className
.如果你想给它添加一些属性(例如你想
data-*
给你的 el添加属性),使用attributes
Backbone 视图的属性。