"Angular directive attributes take either expressions or interpolation markup with embedded expressions. It is considered bad practice to embed interpolation markup inside an expression" .
我无法理解嵌入式表达式的 difference between expressions and interpolation 标记 . 请有人解释一下吗?我是angular的新手 . 我检查了文档,但找不到区别 .
3 回答
表达式将是
ng-model="myscope"
ng-model="myscope"
你也可以做自定义属性,如
my-att="{{myscope}}"
edit: 花括号中的这些表达式是插值的,这意味着不是表达式本身,而是将其值传递给指令 . 因此,您的指令不能直接访问用于插值的scope属性 .
但你不应该把两者混为
ng-model="my{{scope}}"
我认为这就是它所指的 . 这通常不起作用,因为在解析指令时范围尚未初始化
表达式是指可能包含或不包含双花括号的Angular表达式,而插值标记表示此花括号内的代码 .
Expression
{{exp}}
:变成某种 Value 的东西 .Characteristics:
由角度处理 .
Angular表达式与它们所在的范围相关联 . 它可以访问$ scope的属性 .
如果类型错误,则不会引发错误 .
不允许控制流功能(例如'If','else'语句等) .
接受过滤器或过滤器链以格式化输出 .
Interpolation (process):用值替换字符串中占位符的过程 .
Characteristics:
在Angular中,这些占位符通常是表达式 .
当占位符更改时,结果会自动更新 . 如果
$scope.message
更改,则插值结果将更改 .例如:
插值为:
My name is Harry Potter