如何在 Ionic 2 中动态创建具有特定类的模式?

Con*_*gan 2 javascript ionic2 angular

嗨,我已经被一个问题困扰好几天了,到目前为止还没有研究证明足够。我正在尝试在 Ionic 2 中创建一个具有特定类(或 id)的简单模式。

我需要这样简单的东西:

<ion-modal class="myDifficultToAddClass">
...
</ion-modal>
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

import { NavParams, ModalController } from 'ionic-angular';
@Component(...)
class PageBehindTheModal {
  constructor(public modalCtrl: ModalController) {

  }
  presentProfileModal() {
    let profileModal = this.modalCtrl.create(Profile, { randomData: randomData });
    profileModal.present();
  }
}

@Component(...)
class Profile {
  constructor(params: NavParams) {
    console.log('Some info: ', params.get('randomData'));
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用 Angular/Core 中的 ViewEncapsulation 来封装视图,以便使用本地 css,但该 css 将在全局范围内可用(并且我无法仅“设置”此特定模式的样式 - 所以这不是解决方案):

import { ViewEncapsulation } from '@angular/core';
@Component({
  styleUrls: ['./product-details.scss'],
  encapsulation: ViewEncapsulation.Emulated
})
Run Code Online (Sandbox Code Playgroud)

我希望找到一个简单的解决方案,例如:

// create(component, data, opts)
create(Profile, { randomData: randomData }, { cssClass: 'myDifficultToAddClass' })
Run Code Online (Sandbox Code Playgroud)

不幸的是,我的愿望没有实现:)。

有谁知道如何做到这一点?

99t*_*run 5

现在,您可以在创建模式时将 CSS 类名作为可选参数传递。

  presentProfileModal() {
    let profileModal = this.modalCtrl.create(Profile, { 
      randomData: randomData }, {
      cssClass: 'myDifficultToAddClass'
    });
    profileModal.present();
  }
Run Code Online (Sandbox Code Playgroud)

在这里找到官方文档

  • 这应该是正确答案!代表那些懒得浏览文档的人表示感谢。:/ (2认同)