angular2Angular 4.x 修仙之路前端框架 - Frontend Framework

Angular 2.0+ 的数据绑定

2017-08-09  本文已影响40人  程序员长春

前言

我们使用如下的组件代码进行本文的所有演示

export class AppComponent {
  angularLogo = 'https://angular.io/assets/images/logos/angular/angular.svg';
  userName="David";
  newItem() {
    console.log("Hello world!");
  }
}

组件到DOM - Component to DOM

属性绑定,单向数据绑定。可以有下面三种不同的书写方式。

  < img src="{{ angularLogo }}">
  < img [src]="angularLogo">
  < img bind-src="angularLogo">
  1. 使用字符串插值方式。{{ 变量名 }}
  2. 使用方挎号 [] ,方挎号内包含属性名。
  3. 在属性名前添加bind- 也可以达到同样的效果。

DOM到组件 - DOM to Component

事件绑定,当发生特定的DOM事件(例如:click,change,keyup)时,调用组件中指定方法。在下面的示例中,单击按钮时调用该组件的newItem()方法:

<button (click)="newItem()"></button>

双向数据绑定

使用[(ngModel)]="变量名"方式,可以实现双向数据绑定。

<input type="text" [(ngModel)]="userName">
<h1>Hello {{userName}}!</h1>

从Angular 2.x版开始,Angular中的数据绑定真的只是归结为属性绑定和事件绑定。 双向数据绑定是不存在的东西。 如果没有ngModel指令,我们如何实现双向数据绑定?如下所示:

<input [value]="username" (input)="username = $event.target.value">
<p>Hello {{username}}!</p>

我们来看看这里面发生了什么?

上一篇下一篇

猜你喜欢

热点阅读