麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

angular4 共享服務在多個組件中數據通信的示例

2019-11-19 14:04:59
字體:
來源:轉載
供稿:網友

應用場景,不同組件中操作統一組數據,不論哪個組件對數據進行了操作,其他組件中立馬看到效果。這樣他們就要共用一個服務實例,是本次的重點,如果不同實例,那么操作的就不是同一組數據,那么就不會有這樣的效果,想實現共用服務實例,就是在所有父組件中priviates:[]中引入這個組件,子組件中不需要再次引入,那么他們都是用的父組件中的服務實例。

1、公用服務

import {Injectable} from "@angular/core";@Injectable()export class CommonService { public dateList: any = [ {  name: "張旭超",  age: 20,  address: "北京市朝陽區" } ]; constructor() { } addDateFun(data) { this.dateList.push(data); }}

2、parent.component.ts

import {Component, OnInit} from "@angular/core";import {CommonService} from "./common.service";// 這里要通過父子公用服務來操作數據,只需要在父組件中引入服務。@Component({ selector: "parent-tag", templateUrl: "parent.component.html", providers: [ CommonService ]})export class ParentComponent implements OnInit { public list: any = []; constructor(private commonService: CommonService) { this.list = commonService.dateList; } ngOnInit() { }}

3、parent.component.html

<table width="500"> <tr *ngFor="let item of list"> <td>  {{item.name}} </td> <td>  {{item.age}} </td> <td>  {{item.address}} </td> </tr></table><child-one-tag></child-one-tag>

4、child-one.component.ts

import {Component} from "@angular/core";import {CommonService} from "./common.service";@Component({ selector: "child-one-tag", templateUrl: "child-one.component.html"})export class ChildOneComponent { public display: boolean = false; public username: string = ""; public age: number = 20; public address: string = ""; constructor(public commonService: CommonService) { } showDialog() { this.display = true; } hideDialog() { this.display = false; } addInfoFun() { let params = {  name: this.username,  age: this.age,  address: this.address }; this.commonService.addDateFun(params); params = {}; }}

5、child-one.component.html

<p-dialog header="彈窗" [(visible)]="display" [width]="300" appendTo="body" modal="modal"> <form #myForm="ngForm" name="myForm"> <p>姓名:<input type="text" name="username" [(ngModel)]="username" pInputText/></p> <p>年齡:<input type="number" name="age" [(ngModel)]="age" pInputText/></p> <p>地址:<input type="text" name="address" [(ngModel)]="address" pInputText/></p> <button pButton label="確定" type="submit" (click)="addInfoFun()"></button> <button pButton label="取消" (click)="hideDialog()"></button> </form></p-dialog><button label="添加" pButton (click)="showDialog()"></button>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av在线播放电影 | 香蕉在线播放 | 在线成人免费观看视频 | 欧美成人一区免费视频 | 777sesese| 鲁久久| 四虎久草 | 日韩一级免费毛片 | 最近中文字幕一区二区 | 国产亚洲精品综合一区91555 | 成人免费看毛片 | 污视频在线免费播放 | 羞羞电影在线观看 | 国产精品视频导航 | 国产精品99精品 | 免费看欧美一级特黄a大片 久久免费视频一区二区三区 | 久久99精品久久久久久236 | 亚洲第一黄色网 | 久章草影院 | 欧美 日韩 国产 成人 | 99成人在线 | 久久草草亚洲蜜桃臀 | 国产亚洲精品视频中文字幕 | 亚洲网站在线观看视频 | 日本在线播放一区二区三区 | 中国女人内谢69xxxx天美 | 日本aaaa片毛片免费观看视频 | 欧美视频99| 免费的性生活视频 | 桥本有菜免费av一区二区三区 | 毛片免费视频观看 | 露脸各种姿势啪啪的清纯美女 | 海外中文字幕在线观看 | 麻豆19禁国产青草精品 | 黑人操穴| www.99tv| 久久成人精品视频 | 日本一区二区视频在线观看 | 精品一区二区视频在线观看 | sm高h视频| 看免费毛片 |