无法解析模态的所有参数:(?,?,?)
Can't resolve all parameters for Modal: (?, ?, ?)
import { Component, Inject } from '@angular/core';
import { NavController, Modal } from 'ionic-angular';
import { PopupPage } from '../../components/modal/modal.page';
@Component({
templateUrl: 'build/pages/spot/spot.html',
providers: [ Modal ]
})
export class SpotComponent {
constructor(@Inject(Modal) private modal: Modal ) {}
}
就像@Pace 评论的那样,您可以看一下Ionic2 docs 以了解如何创建 一个Modal
。
您不必像现在这样将其包含在 providers
数组或 constructor
中。相反,您应该像这样使用 Modal.create(...)
方法:
import { Modal, NavController, NavParams } from 'ionic-angular';
@Component(...)
class HomePage {
constructor(/* ..., */ private nav: NavController) {
// Your code...
}
presentProfileModal() {
// Create the modal using the layout from the Profile Component
let profileModal = Modal.create(Profile, { paramId: 12345 });
// Show the modal
this.nav.present(profileModal);
}
}
@Component(...)
class Profile {
constructor(/* ..., */ private params: NavParams) {
// Get the parameter by using NavParams
console.log('paramId', params.get('paramId'));
}
}
import { Component, Inject } from '@angular/core';
import { NavController, Modal } from 'ionic-angular';
import { PopupPage } from '../../components/modal/modal.page';
@Component({
templateUrl: 'build/pages/spot/spot.html',
providers: [ Modal ]
})
export class SpotComponent {
constructor(@Inject(Modal) private modal: Modal ) {}
}
就像@Pace 评论的那样,您可以看一下Ionic2 docs 以了解如何创建 一个Modal
。
您不必像现在这样将其包含在 providers
数组或 constructor
中。相反,您应该像这样使用 Modal.create(...)
方法:
import { Modal, NavController, NavParams } from 'ionic-angular';
@Component(...)
class HomePage {
constructor(/* ..., */ private nav: NavController) {
// Your code...
}
presentProfileModal() {
// Create the modal using the layout from the Profile Component
let profileModal = Modal.create(Profile, { paramId: 12345 });
// Show the modal
this.nav.present(profileModal);
}
}
@Component(...)
class Profile {
constructor(/* ..., */ private params: NavParams) {
// Get the parameter by using NavParams
console.log('paramId', params.get('paramId'));
}
}