[英]Angularjs - custom directive with the same name of standard html elements
如果创建的指令与标准html属性或元素名称相同,会发生什么情况? 例如,如果我定义:
.directive('link', function(){
return {
restrict: 'A',
link: function(scope, elements, attributes){
// do something
}
})
这样使用
<a link="http://www.foo.com" ng-href="www.google.com">Conditional Link </a>
是否会与标准<link rel="stylesheet" type="text/css" href="theme.css">
元素<link rel="stylesheet" type="text/css" href="theme.css">
?
也许在这种情况下,这不是因为我仅将指令限制为属性,而是我的问题更笼统。
例如,如果我将指令命名为href
怎么办?
指令是否始终优先于标准html元素或属性?
指令可以将行为附加到现有的html元素。 如果您创建指令href,我相信应该没有问题,除非您的指令将自身删除(或href
)。 没有优先级的概念,除非在同一元素上定义或应用了多个指令。
请记住,您无法更改浏览器的行为,如果浏览器看到带有远程URL的href,则无论如何都会发出请求。
AngularJS本身使用<input />
作为指令,并且可以在不影响标准输入行为的情况下正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.