表达式与插值标记之间的差异与嵌入式表达式的角度

时间:2016-04-18 05:32:24

标签: javascript angularjs

" Angular指令属性采用嵌入式表达式的表达式或插值标记。将插值标记嵌入表达式"。

中被认为是不好的做法

我无法理解嵌入式表达式中表达式和插值标记之间的差异。请有人解释一下吗?我是棱角分明的新手。我检查了文档,但无法找到差异。

3 个答案:

答案 0 :(得分:3)

表达式将是ng-model="myscope"

中的“myscope”

您还可以执行自定义属性,例如my-att="{{myscope}}"

编辑:花括号中的这些表达式是插值的,这意味着不是表达式本身,而是将其值传递给指令。因此,您的指令不能直接访问用于插值的范围属性。

但你不应该像ng-model="my{{scope}}"

那样混合两者

我认为这就是它所指的。这通常不起作用,因为在解析指令时范围尚未初始化

答案 1 :(得分:3)

表达式是指可能包含或不包含双花括号的Angular表达式,而插值标记表示此花括号内的代码。

答案 2 :(得分:1)

表达式 {{exp}}:某些东西变成了某种价值。

<强>特性:

  1. 由角度处理。
  2. Angular表达式与它们所在的范围相关联。它可以访问$ scope的属性。
  3. 如果类型错误,则不会抛出错误。
  4. 控制流程功能(例如,&#39;如果&#39;,&#39;其他&#39;声明等)不允许。
  5. 接受过滤器或过滤器链以格式化输出。
  6. 插值(进程):使用值替换字符串中占位符的过程。

    <强>特性:

    1. 在Angular中,这些占位符通常是表达式。

    2. 占位符更改时,结果会自动更新。如果$scope.message发生变化,插值结果将发生变化。

    3. 前:

      My name is {{ message }}
      

      内插到:My name is Harry Potter