zoukankan      html  css  js  c++  java
  • Angular 组件之间的传值

    第一种方法(传单个或者多个参数):

    主页面方法:

    先添加引用:private _routes: Router,

    Details(PBSCode) {
    this._routes.navigate(['pbs-manage/pbs-detail', PBSCode]);
    }
    路由:
    //  reuse: true 可以使本页面不关闭
    {
    path: 'pbs-detail/:PBSCode',
    component: PBSDetailComponent,
    data: { title: '详情', reuse: true }
    }
    子页面接收:
    ngOnInit() {
    this.route.queryParams.subscribe((e) => {
    this.PBSCode= e.get('PBSCode');
    });
    }
    缺点:该方法会把参数显示在地址栏上
    第二个方法(传对象):
    主页面: private _routes: Router,
    添加引用:
    Details(bb,cc) {
    this.router.navigate(['/workOrder-manage/challenge-list'], { queryParams: { aa: bb, cc: dd } });
    }
    子页面:
    ngOnInit() {
    this.route.queryParams.subscribe((e) => {
    this.aa= e.aa;
    this.cc = e.cc ;
    });
    }
    备注:该方式与第一个方法的缺点一致,好处是不用配置路由
    第三种方式(模态窗)
    // 补充信息
    主页面方法:
    // componentParams中的是传的值 content是子页面的名字
    EditCarrier(ContractID) {
    const options = {
    wrapClassName: 'modal-lg custom-modal',
    content: PublicContractEditCarrierComponent,
    footer: false,
    componentParams: {
    ContractID: ContractID
    }
    };
    // 子页面关闭触发的事件
    this.modal.open(options).subscribe(result => {
    if (result === 'onDestroy') {
    this.GetDatas(0);
    }
    });
    }
    子页面接收:
    @Input()
    set dataci(ci: number) {
    this.ContractID = ci;
    }
    备注:主页面的传值参数名与子页面接收的参数名必须一致
    第四中:
    主页面:
    html:
    //子页面的组件名字 
    <app-back-admin-assessment-early-warning-index (receive)="GetParameters($event)"></app-back-admin-assessment-early-warning-index>
    ts页面:
    GetParameters(e) {
    console.log(e);
    }
    子页面:
    // receive这个名字随意 但主页的触发方法的名字要与这里的名字一致
    @Output('receive') checkedBack = new EventEmitter<any>();
    //触发这个方法就可以传值到主页面
    this.checkedBack.emit(this.params);
  • 相关阅读:
    Dynamic proxy (good-原创)
    思维导图
    Android学习之 WebView使用小结
    shell语法简单介绍
    php反射类 ReflectionClass
    老鸟的Python新手教程
    腾讯云安装openvz,高速搭建測试环境
    NYOJ-1058 部分和问题
    NGUI ScrollView动态加入和删除对象。
    几种常见模式识别算法整理和总结
  • 原文地址:https://www.cnblogs.com/yuanxinghuo/p/10191490.html
Copyright © 2011-2022 走看看