繁体   English   中英

AngularJS-与标准html元素名称相同的自定义指令

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM