Angular 2.0+的数据绑定

前言

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

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

组件到DOM-Component to DOM

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

![]({{angular Logo}})
<img [src]="angular Logo">
![](angular Logo)

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>

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

-[value]="username"-绑定变量usernameinput元素的value属性
-input="username=$event.target.value"-绑定input元素的input事件到js代码username=$event.target.value
-$event-在Angular的事件绑定中暴露的表达式,它的值为事件的载体

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 我们使用如下的组件代码进行本文的所有演示 组件到DOM - Component to DOM 属性绑定,单向...
    程序员长春阅读 348评论 0 1
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,088评论 0 29
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • 数据绑定为应用程序提供了一种简单一致的机制,来管理与协调数据的显示,以及数据值的变化。angular提供了多种数据...
    oWSQo阅读 742评论 0 1
  • 夏天来了,游泳成为了人们最喜欢的运动之一,游泳池一般都问题不大,但是开阔水域游泳确实会出现不少泳池不会出现的问题。...
    晃悠的老刘忙阅读 978评论 1 3