首页 文章

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

提问于
浏览
3

"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 回答

  • 3

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

    你也可以做自定义属性,如 my-att="{{myscope}}"

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

    但你不应该把两者混为 ng-model="my{{scope}}"

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

  • 0

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

  • 3

    Expression {{exp}} :变成某种 Value 的东西 .

    Characteristics:

    • 由角度处理 .

    • Angular表达式与它们所在的范围相关联 . 它可以访问$ scope的属性 .

    • 如果类型错误,则不会引发错误 .

    • 不允许控制流功能(例如'If','else'语句等) .

    • 接受过滤器或过滤器链以格式化输出 .

    Interpolation (process):用值替换字符串中占位符的过程 .

    Characteristics:

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

    • 当占位符更改时,结果会自动更新 . 如果 $scope.message 更改,则插值结果将更改 .

    例如:

    My name is {{ message }}
    

    插值为: My name is Harry Potter

相关问题