我是网络开发的初学者,我有一些误解。
来自wwwschools:
AngularJS extends HTML with new attributes.
因此angularJS使用例如ng-model
,ng-app
等等。
我的问题是
<h myAttr="hello">
,然后使用JS访问它就像普通属性一样吗? 答案 0 :(得分:1)
Angular不会自行添加它们。它允许您使用一些自定义属性,如ng-model
来处理其功能,但您必须自己设置它们。
如果您使用非标准属性,则可以使用data-*
有效属性替换它们,例如data-ng-model="stuff"
。
最后,经常使用添加自己的自定义属性(通常在Angular中称为指令)。您可以查看angular doc以获取有关如何实现此目的的提示。
答案 1 :(得分:0)
- 为什么AngularJS会这样做,添加自定义属性会使HTML无效?
醇>
这个想法是你可以编写自己的自定义独立元素,更好地解释它们的用途。例如,而不是:
<div class="date-picker" data-initial="2015-08-08"></div>
你可以写:
<date-picker value="2015-08-08" />
比具有特殊标记CSS类的普通<div>
更容易解释。
当然,这不仅仅是开箱即用,您必须通过编写Angular directive来定义这个新的日期选择器元素。
- 我可以添加自己的属性,然后像使用普通属性一样使用JS访问它吗?
醇>
是的,您可以通过编写新的指令(见上文)。