在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
双向绑定原理双向绑定将属性绑定与事件绑定结合在一起。 Angular 的双向绑定语法是方括号和圆括号的组合 [()]。 [] 进行属性绑定,() 进行事件绑定。 名称规则为 [输入名] + Change。
所以表单双向绑定中有 ngModel 和 ngModelChange,也可以自定义双向绑定属性。 ngModel与表单元素进行双向绑定 import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-bind', template: ` <div> <div>Name: {{ name }}</div> <input type="text" style="width: 300px;" nz-input name="name" [(ngModel)]="name" autocomplete="off"> </div> ` }) export class BindComponent implements OnInit { name = ''; constructor() { } ngOnInit(): void { } } 效果图自定义双向绑定属性组件-html<div> <div>inner: {{ value }}</div> <input style="width: 300px;" nz-input (input)="onInput(input.value)" #input autocomplete="off"> </div> 组件-tsimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; @Component({ selector: 'app-inner', templateUrl: './inner.component.html', styleUrls: ['./inner.component.scss'] }) export class InnerComponent implements OnInit { // 设定输入属性 @Input() value!: string; // 设定输出事件 @Output() valueChange: EventEmitter<string> = new EventEmitter(); constructor() { } ngOnInit(): void { } onInput(value: string){ // 触发输出事件-输出数据 this.valueChange.emit(value); } } 外部使用import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-outer', template: ` <div> <div>Name: {{ name }}</div> <app-inner [(value)]="name"></app-inner> </div> ` }) export class OuterComponent implements OnInit { name = ''; constructor() { } ngOnInit(): void { } } 效果图总结
|
请发表评论