angular双向绑定详解
更新时间:2021年12月22日 15:46:00 作者:桐溪漂流
这篇文章主要为大家介绍了angular双向绑定,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
双向绑定原理
双向绑定将属性绑定与事件绑定结合在一起。
Angular 的双向绑定语法是方括号和圆括号的组合 [()]。
[] 进行属性绑定,() 进行事件绑定。
名称规则为 [输入名] + Change。
- 属性绑定(@
Input
-输入) - 设置特定的元素属性。 - 事件绑定(@
Output
-输出) - 侦听元素更改事件。
所以表单双向绑定中有 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>
组件-ts
import { 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 { } }
效果图
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
相关文章
使用JavaScript的AngularJS库编写hello world的方法
这篇文章主要介绍了使用JavaScript的AngularJS库编写hello world的方法,AngularJS是一款高人气的JavaScript库,需要的朋友可以参考下2015-06-06深入理解AngularJS中的ng-bind-html指令和$sce服务
这篇文章给大家详细介绍了AngularJS中的ng-bind-html指令和$sce服务,对大家学习AngularJS具有一定参考借鉴价值,有需要都可以参考学习。2016-09-09解决angularjs前后端分离调用接口传递中文时中文乱码的问题
今天小编就为大家分享一篇解决angularjs前后端分离调用接口传递中文时中文乱码的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-08-08
最新评论