首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数据从ModalService传递到组件

如何将数据从ModalService传递到组件
EN

Stack Overflow用户
提问于 2018-02-07 23:42:04
回答 6查看 20.9K关注 0票数 6

我正在尝试使用ngx-bootstrap-modal将数据从一个模态服务传递到一个模态组件。examples显示了以下内容:

代码语言:javascript
复制
this.modalService.show(ModalContentComponent, {initialState});

但它并没有显示ModalContentComponent实际上是如何使用该状态的。我在调试器中尝试过,但我从未看到我的组件获得这些数据。

如何从组件访问它?

EN

回答 6

Stack Overflow用户

发布于 2018-02-08 18:34:29

您还可以像这样使用BsModalRef content

my-modal.component.ts

代码语言:javascript
复制
export class MyModalComponent {
  public myContent;
  constructor(){}
}

从其他组件调用您的模式

代码语言:javascript
复制
import { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';
...
    public modalRef: BsModalRef;

    constructor(public modalService: BsModalService){}

    public openModal() {
       this.modalRef = this.modalService.show(MyModalComponent);
       this.modalRef.content.myContent= 'My Modal Content';
    }
...
票数 6
EN

Stack Overflow用户

发布于 2018-02-08 18:19:53

在创建模式的阶段,initialState中的每个属性都会复制到您作为模式内容传递的组件中。

例如,如果您的initialState如下所示:

代码语言:javascript
复制
const initialState = {
   list: [
     'Open a modal with component',
     'Pass your data',
     'Do something else',
     '...',
     'PROFIT!!!'
   ],
   title: 'Modal with component',
   closeBtnName: 'Close'
 };

然后,所有这些属性都被复制到您的模态内容组件中,并且可以在那里访问它们,您可以像往常一样在模板或ngOnInit中使用它们。通常,这些属性类似于@Input

示例- https://stackblitz.com/edit/angular-9n2zck?file=app/service-component.ts

票数 4
EN

Stack Overflow用户

发布于 2020-05-28 14:56:04

在这里,在使用modalService.show中的配置参数发送initialState数据的parentComponent中:

代码语言:javascript
复制
const initialState = {
      data: "Test Data"
    };
    this.modalService.show(ModalContentComponent, {initialState});

通过简单地定义完全相同的命名变量来访问ModalContentComponent中的数据,即,您将能够访问ModalContentComponent.html和ModalContentComponent.ts中的数据值。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48667781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档