【问题标题】:Why do we use double braces for ng-src in AugularJS?为什么我们在 AngularJS 中为 ng-src 使用双括号?
【发布时间】:2016-04-08 07:57:44
【问题描述】:

我对 AngularJS 表达式感到困惑。

w3schools.com得知

  1. AngularJS 表达式可以写在双括号内:{{ expression }}
  2. AngularJS 表达式也可以写在指令中:ng-bind="expression".

但为什么我们使用ng-src={{...}} 而不是ng-src="..."

ng-src 是处理 AngularJS 表达式时的特例吗?

【问题讨论】:

标签: javascript angularjs


【解决方案1】:

是的,这是ng-src 的一种特殊情况,因为它正在等待template 参数,这是一个string,其中包含任何类型的插值({{}}),如@987654321 中所述@。

<img ng-src="http://www.gravatar.com/avatar/{{hash}}" alt="Description" />

这取决于如何指令自己指定。

【讨论】:

  • 你说的有道理!
【解决方案2】:

这已经有点被问过了,参考这个问题可能会有所帮助

Difference between double and single curly brace in angular JS?

【讨论】:

  • 我以前读过这个,但仍然不明白为什么我们在 ng-src 中使用双括号。这是我们应该使用双括号的唯一指令吗?
【解决方案3】:

你可以同时使用。 当您当时绑定某些动态值时,请像这样使用。

ng-src="{{myVar}}"

当你当时绑定静态值时,像这样使用。

<img ng-src="string"></img>

希望这会让你清楚。

【讨论】:

  • 对于 ng-src 以外的指令,比如 ng-repeat、ng-model,不如你说的动态值用双括号?
猜你喜欢
  • 2016-03-07
  • 1970-01-01
  • 2020-11-15
  • 1970-01-01
  • 2014-09-09
  • 1970-01-01
  • 2017-05-08
  • 2011-11-12
相关资源
最近更新 更多