我是AngularJS的新手,在做Codecademy课程时,我卡住了。我试图使用以下语法重复指令。
<div class="card" ng-repeat="app in apps">
<app-info info="{{ app }}"></app-info>
</div>
我玩了一会儿,发现我需要去掉花括号。
<div class="card" ng-repeat="app in apps">
<app-info info="app"></app-info>
</div>
但是如果我不使用指令,我想我会访问这样的信息。AngularJS文档。
<div class="card" ng-repeat="app in apps">
{{ app }}
</div>
有人可以解释为什么我不需要大括号来帮助我更好地理解 AungularJS。谢谢!
值符号的使用{{
}}
取决于指令的实现。某些指令(如 ng-click='expression'
或 ng-if='expression'
)采用不带双卷曲的表达式。
而其他一些指令如ng-src='{{expression}}'
接受插值符号。
这完全取决于指令的设置方式。
插值的基本用法是执行表达式,并将内容替换为表达式的返回值(字符串值)。
随着您了解有关指令的更多信息,您将学习如何使用 @,=,&
将参数传递给指令。这些参数可以是简单的字符串值(在这种情况下可以使用插值)、对象或函数。
在这种特殊情况下,使用 {{data}}
您正在评估该变量的值,但是当您在其他包含名为 info
的scope
变量的指令中info="app"
时,您正在做的是将我们的 app-info
指令的 info
范围变量绑定到控制器(或父指令)app
范围变量。