我同时使用href
和ng-href
,我看不出它们之间的区别。
为什么Angular具有ng-href
属性,何时应该使用它?
答案 0 :(得分:31)
如果用户在Angular有机会用
{{hash}}
标记替换其值之前单击它,则在href属性中使用{{hash}}
等角度标记会使链接转到错误的URL。在Angular替换标记之前,链接将被破坏,并且很可能会返回404错误。ngHref
指令解决了这个问题。
实际上,您唯一使用它的地方是您需要依赖Angular提供给DOM的值的链接。如果您不需要Angular用于该链接的一部分,或者您不打算使用Angular生成该链接,那么您不需要使用ngHref
。
答案 1 :(得分:11)
如果需要绑定模型中的值,请使用该指令。例如:
<div ng-init="address='http://stackoverflow.com/questions/37467603'">
<a ng-href="{{address}}">Dynamic link</a>
<br/>
Change the link dynamically: <input type="text" ng-model="address">
</div>
在上面的示例中,address
的值以编程方式绑定到输入文本框中的值,您可以更改该值。
如果您不需要动态(即对模型状态的变化做出反应),那么您可以继续使用href
:
<a href="http://stackoverflow.com/questions/37467603"/>Static link</a>