Angular 2.0+ 的数据绑定的实现示例
程序员文章站
2022-09-08 13:46:38
这两天学习了angular感觉 数据绑定这个地方知识点挺多的,而且很重要,所以,今天添加一点小笔记。
前言
我们使用如下的组件代码进行本文的所有演示
ex...
这两天学习了angular感觉 数据绑定这个地方知识点挺多的,而且很重要,所以,今天添加一点小笔记。
前言
我们使用如下的组件代码进行本文的所有演示
export class appcomponent { angularlogo = 'https://angular.io/assets/images/logos/angular/angular.svg'; username="david"; newitem() { console.log("hello world!"); } }
组件到dom - component to dom
属性绑定,单向数据绑定。可以有下面三种不同的书写方式。
![]({{ angularlogo }}) <img [src]="angularlogo"> ![](angularlogo)
- 使用字符串插值方式。
{{ 变量名 }}
- 使用方挎号
[]
,方挎号内包含属性名。 - 在属性名前添加
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” - 绑定变量
username
到input
元素的value属性。 - (input)=”username = $event.target.value” - 绑定
input
元素的input
事件到js代码username = $event.target.value
- $event - 在angular的事件绑定中暴露的表达式,它的值为事件的载体。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。