angular2省市县三级联动,封装组件,使用@Output()传递给父组件

发布时间:2019-06-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了angular2省市县三级联动,封装组件,使用@Output()传递给父组件脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

图片描述

再讲之前先讲一下父组件获取子组件的数据@Output()

A: 子组件需要做的工作

@H_406_18@1. 引入Output和EventEmITter import {component, OnInit, Output, EventEmitter} From "@Angular/core"; 2. 定义输出方法,PRovinceOut将在父组件中使用子组件标签的时候调用(后解) @Output() provinceOut = new EventEmitter(); 3. 单机模板中绑定的事件的时候发射变量到父组件 provinceChange() { // 选择省份的时候发射省份给父组件 this.provinceOut.emit(this.province); }

B: 父组件要做的工作

1. 父组件模板中,调用子组件标签,绑定子组件中output的事件

<child-page (provinceOut)="recPro($event)"></child-page>
(provinceOut:子组件中@Output()定义的变量, recPro(#event)父组件中定义一个函数,调用这个函数,获取子组件传递过来的数据)

2. 父组件

// 函数接受子函数传递过来的变量
recPro(event) {
  this.province = event;
}

下面开始讲解三级联动组件,省市县数据使用node(exPress)提供,使用jsonp跨域获取数据,后端代码就不多说了,简单的增删改查

1、子组件 three-link.COMponent.ts