实际上我在使用角度指令时何时使用{{ }}
以及何时不使用{{ }}
例如:
<div data-ng-init="isHidden=false">
<div data-ng-show="isHidden">
...
</div>
</div>
和
<div data-ng-init="isHidden=false">
<div data-ng-show="{{isHidden}}">
...
</div>
</div>
我对这些语法感到困惑?这些之间有什么区别?什么时候用?在此先感谢:)
答案 0 :(得分:1)
这一切都在这里解释:Difference between double and single curly brace in angular JS?
快速回答:
{{}}是Angular表达式,在您希望时非常方便 写东西给HTML
不要在已经表达的地方使用这些!
例如,指令ngClick处理中间写入的任何内容 引号为表达式
答案 1 :(得分:1)
除了&#34;外观&#34>没有区别。如果你想在html正文中的任何地方写数据,你需要使用{{value}}
语法
<div>{{value}}</div>
答案 2 :(得分:0)
public String getFiled1Name() throws NoSuchFieldException, SecurityException{
return this.getClass().getDeclaredField("field1").getName();
}
在这种情况下,data-ng-show = false,从数据-ng-init取得静态,如果你已经给定为真,那么它返回True。
但是这里
<div data-ng-init="isHidden=false">
<div data-ng-show="isHidden">
...
</div>
</div>
{{}}被称为角度表达最重要的概念之一 它根据您的App.js文件中编写的任何条件直接评估if isHidden = true或False。 例如:
<div data-ng-init="isHidden=false">
<div data-ng-show="{{isHidden}}">
...
</div>
<div data-ng-init="isHidden=YourVariable">
<div data-ng-show="{{isHidden}}">
...
</div>
答案 3 :(得分:0)
如果您在为属性分配值时询问何时使用{{}},何时不在。
这取决于指令的绑定类型。 '@'或'='
所以在这里,您必须使用:
data-ng-show="{{isHidden}}"
如果指令范围data-ng-show的绑定类型为'@',则表示data-ng-show将需要字符串值。因此,在这种情况下,如果您保留data-ng-show="isHidden"
,则会将数据显示的值视为“isHidden”,但data-ng-show="{{isHidden}}"
将获取$scope.isHidden
的值并分配给data-ng-show
}。
现在,如果指令范围data-ng-show的绑定类型为'=',则表示data-ng-show将期望来自范围的值。因此,data-ng-show="isHidden"
本身将获取$scope.isHidden
的值并分配给data-ng-show
。
注意:所有默认HTML属性都需要一个字符串,因此您必须使用{{}}作为默认HTML属性。
答案 4 :(得分:-1)
除非在value
的DOM中使用它们,否则没有这样的主要区别。
当使用以下内容时:
<div data-ng-show="isHidden">
然后,评估表达式并根据它的相应值,ng-show
隐藏或显示div
。但是,当使用浏览器开发人员工具检查HTML时,无法看到isHidden
的值。
当使用以下内容时:
<div data-ng-show="{{isHidden}}">
在这种情况下,可以从开发人员工具中看到isHidden
的值,并且表达式的其余部分的计算结果与(1)的结果相同。