Angular语法

插值表达式{{}}

模板表达式:具有新的模板表达式运算符,比如 |?.!。如[property]="expression"

表达式的上下文可以包括组件之外的对象。 比如模板输入变量 (let hero)和模板引用变量(#heroInput)就是备选的上下文对象之一。

表达式中的上下文变量是由模板变量、指令的上下文变量(如果有)和组件的成员叠加而成的

模板变量是最优先的,其次是指令的上下文变量,最后是组件的成员

绑定的类型可以根据数据流的方向分成三类: 从数据源到视图从视图到数据源以及双向的从视图到数据源再到视图

1.单向从数据源到视图

{{expression}}
[target]="expression"
bind-target="expression"

 绑定类型:插值表达式、属性、Attribute、CSS 类样式

2.从视图到数据源的单向绑定(事件)

(target)="statement"
on-target="statement"

双向

扫描二维码关注公众号,回复: 3211466 查看本文章
[(target)]="expression"
bindon-target="expression"

HTML attribute 和 DOM property

提到“属性”的地方,一定是指 property

<!-- Bind button disabled state to `isUnchanged` property -->
<button [disabled]="isUnchanged">Save</button>

attribute 是由 HTML 定义的。property 是由 DOM (Document Object Model) 定义的。

这里不是设置 attribute,而是设置 DOM 元素、组件和指令的 property。

  • 少量 HTML attribute 和 property 之间有着 1:1 的映射,如 id

  • 有些 HTML attribute 没有对应的 property,如 colspan

  • 有些 DOM property 没有对应的 attribute,如 textContent

  • 大量 HTML attribute 看起来映射到了 property…… 但却不像你想的那样!

绑定目标

属性:[]

事件:()

双向:[()]

Attribute:attribute

<button [attr.aria-label]="help">help</button>

CSS 类:class property

<div [class.special]="isSpecial">Special</div>

样式:style property

<button [style.color]="isSpecial ? 'red' : 'green'">

属性绑定

猜你喜欢

转载自blog.csdn.net/xuxuan1997/article/details/81253967