前言
我们使用如下的组件代码进行文本的所有演示
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"-绑定变量username到input元素的value属性
-input="username=$event.target.value"-绑定input元素的input事件到js代码username=$event.target.value
-$event-在Angular的事件绑定中暴露的表达式,它的值为事件的载体
网友评论