Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度重复指令语法_Javascript_Html_Angularjs - Fatal编程技术网

Javascript 角度重复指令语法

Javascript 角度重复指令语法,javascript,html,angularjs,Javascript,Html,Angularjs,我是AngularJS的新手,在做编码时,我的课程被卡住了。我试图使用以下语法重复一个指令 <div class="card" ng-repeat="app in apps"> <app-info info="{{ app }}"></app-info> </div> {{app}} 有人能解释一下为什么我不需要花括号来帮助我更好地理解阿努拉。谢谢 在这种特殊情况下,使用{{data}您正在计算该变量的值,但当您在另一个指令中执行i

我是AngularJS的新手,在做编码时,我的课程被卡住了。我试图使用以下语法重复一个指令

<div class="card" ng-repeat="app in apps">
  <app-info info="{{ app }}"></app-info> 
</div>


{{app}}

有人能解释一下为什么我不需要花括号来帮助我更好地理解阿努拉。谢谢

在这种特殊情况下,使用
{{data}
您正在计算该变量的值,但当您在另一个指令中执行
info=“app”
,该指令包含一个名为
info
范围
变量时,您正在做的是将我们的
app info
指令的
info
范围变量绑定到控制器(或父指令)
app
范围变量。

插值符号的使用
{{
}}
取决于指令的实现。 一些指令,如
ng click='expression'
ng if='expression'
采用不带双卷曲的表达式

而其他一些指令,如
ngsrc='{{expression}}'
接受插值符号

这完全取决于指令的设置方式

插值的基本用法是执行表达式并用表达式的返回值(字符串值)替换内容


当您进一步了解指令时,您将了解如何使用
@、=、&
将参数传递给指令。这些参数可以是一个简单的字符串值(在这种情况下可以使用插值),也可以是一个对象或一个函数。

我想我理解你的意思。你能不能用更简单的语言来回答,这样更容易理解?默认情况下,角度指令的属性值被假定为,并且被计算为,但是在元素的文本节点的上下文中,它们被假定为纯文本,并且需要大括号来告知,大括号之间的文本是一个角度表达式。@HJ05所以你认为apps中的app
就是这样一个表达式吗?没有默认值。@zeroflagL Yes
apps-in-apps
是一个表达式,当您开始添加过滤器(如
apps-in-apps | filter:search
)时,这一点变得更加明显。由Angular运行时计算的任何字符串都是表达式。还可以查看@Chandermani的答案了解更多信息。
app in apps
是一个
repeat\u表达式
,您可以将
过滤器
或别名应用为别名,甚至可以将
ng repeat
用于对象及其表达式中的键值
(键,值)
。这意味着将对
表达式进行求值。根据您的偏好或方法,您可以在控制器上评估结果,以便所有逻辑都在控制器中,从而获得更清晰的视图。可能的重复
<div class="card" ng-repeat="app in apps">
  <app-info info="app"></app-info> 
</div>
<div class="card" ng-repeat="app in apps">
  {{ app }}
</div>