为什么有些角度指令需要双曲线而其他角度指令不需要?

时间:2015-01-23 11:00:31

标签: angularjs

以下是AngularJS片段的一些示例:

<image ng-href="{{mainCtrl.href}}" xlink:href="" width="383" height="108" />

<div ng-show="mainCtrl.show">

<svg xmlns="http://www.w3.org/2000/svg" baseProfile="full" version="1.1" ng-attr-width="{{mainCtrl.svg.width}}" height="400">

<svg xmlns="http://www.w3.org/2000/svg" baseProfile="full" version="1.1" ng-style="mainCtrl.style">

对于某些AngualrJS属性指令,我需要使用双重curlies来引用控制器中的模型数据,而对于其他人,我必须使用双重curlies。

当我遇到一个新的AngularJS指令时,我怎么知道我应该用它来指向控制器上的数据?是否有一些理由说明哪些指令需要双重条件并且需要它们缺席?

1 个答案:

答案 0 :(得分:2)

双花括号告诉angular插入表达式,即创建一个字符串。因此,您不会将它们用于不期望文字字符串(如ngClick)的指令(或属性)。文字字符串表示&#34;按原样使用该值&#34;而不是&#34;解释价值&#34; (=表达)。

每当您可以使用花括号时,Angular文档将参数分类为template。我可以指除了或代替文字字符串!因此,您可以撰写ng-href="http://google.com"ng-href="{{search}}",搜索结果为'http://google.com'ng-href="http://{{search}}",搜索结果为'google.com'。结果总是一样的。

ng-attr-widthng-href等指令只是他们&#34;真实&#34;的替代品。同行,widthhref。他们只是在DOM中设置该属性的值。为简单起见,他们需要一个文字字符串和支持模板。