Angular:实现组件间双向数据绑定
2017-12-09 17:47
811 查看
学过Angular的同学都知道,输入框通过
Angular中,我们常常需要通过方括号
那么在
例子如下。
子组件:
注意这里的写法,这是关键所在,输出属性必须在输入属性的基础上加上‘-Change’后缀。比如你的输入属性是
父组件:
在父组件我们初始化
在子组件里,通过按钮我们可以改变childStatus的值,可以看到,子组件中的值改变的同时,父组件的值也跟着改变了。反过来,在父组件中通过按钮改变parentStatus的值,子组件中的值同样也跟着变化:
很简单对不对?!
你可以在这里查看和在线编辑本文代码,并实时查看效果!
[(ngModel)]实现双向数据绑定,那么父子组件间能不能实现双向数据绑定呢?答案是肯定的。
Angular中,我们常常需要通过方括号
[]和圆括号
()实现组件间的交互:
那么在
[]和
()的基础上,如何实现组件的双向数据绑定?
例子如下。
子组件:
<!--child.component.html--> <h1>status in child: {{childStatus}}</h1> <button (click)="toggle()">Toggle childStatus</button>
//child.component.ts export class ChildComponent implements OnInit{ @Input() childStatus; @Output() childStatusChange = new EventEmitter(); ngOnInit(){ } toggle(){ this.childStatus = !this.childStatus; this.childStatusChange.emit(this.childStatus); } }
注意这里的写法,这是关键所在,输出属性必须在输入属性的基础上加上‘-Change’后缀。比如你的输入属性是
myData,那么输出属性就必须是
myDataChange。
父组件:
<!--app.component.html--> <test-binding [(childStatus)]="parentStatus"></test-binding> <h1>status in parent: {{parentStatus}}</h1> <button (click)="toggle()">Toggle parentStatus</button>
//app.component.ts import { Component,OnInit } from '@angular/core'; @Component({ selector: 'my-app', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent implements OnInit{ parentStatus: boolean = true; ngOnInit(){ } toggle(){ this.parentStatus = !this.parentStatus; } }
在父组件我们初始化
parentStatus为
true,并把它传到子组件
ChildComponent。
在子组件里,通过按钮我们可以改变childStatus的值,可以看到,子组件中的值改变的同时,父组件的值也跟着改变了。反过来,在父组件中通过按钮改变parentStatus的值,子组件中的值同样也跟着变化:
很简单对不对?!
你可以在这里查看和在线编辑本文代码,并实时查看效果!
相关文章推荐
- Angular自定义组件实现数据双向数据绑定的实例
- Angular 5 子组件与父组件实现数据双向绑定
- Vue2.0实现组件数据的双向绑定问题
- JavaScript实现简单的双向数据绑定(Ember、Angular、Vue)
- 【VUE】.NET实现Tree组件双向绑定数据(3)-资源分配
- vue2.X props 数据传递 实现组件内数据与组件外的数据的双向绑定
- angular.js双向数据绑定实现动画特效
- vue父组件和子组件通过sync实现双向数据绑定
- Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
- 【VUE】.NET实现Tree组件双向绑定数据(2)
- Vue 2.0学习笔记:实现组件数据的双向绑定
- 使用angular实现双向数据绑定
- Angular双向数据绑定简易实现
- 原生JS实现angular的双向数据绑定
- 【VUE】.NET实现Tree组件双向绑定数据(1)
- angular中自定义组件实现双向绑定
- angular学习总结九——父组件与子组件数据的双向绑定
- 简单实现 angular1.x 双向数据绑定
- 自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
- Angular2中自定义组件实现双向绑定