Je ne peux pas importer mon contrôleur de vue à utiliser dans un fournisseur dans Ionic 2.
import { ModalController, ViewController, NavController } from "ionic-angular";
@Injectable()
export class DynamicModal<T extends IHasId> {
modalOptions: DynamicModalOptions<T>;
constructor(public modalCtrl: ModalController, public viewCtrl: ViewController)
Quand je l'essaye de cette façon, cela me donne une erreur:
Aucun fournisseur pour ViewController
Les contrôleurs de vue fonctionnent bien lorsqu'ils sont injectés dans des pages, mais j'aimerais encapsuler toute ma création et rejeter la logique afin que je n'aie pas à la réécrire à chaque fois que j'utilise ce modal.
Comment puis-je injecter un contrôleur de vue dans un modal ?
Au lieu d'injecter le contrôleur de vue, vous pouvez l'inclure dans vos options modales à la place :
export class DynamicModalOptions<T extends IHasId>
{
entity: T;
//other properties
viewCtrl: ViewController;
}
Maintenant, lorsque vous rejetez, vous pouvez simplement saisir le contrôleur de vue à partir de vos options
close() {
this.modalOptions.viewCtrl.dismiss();
this.modalOptions = null;
}
Puisque vous utilisez un fournisseur, n'oubliez pas d'effacer vos options modales afin qu'elles ne soient pas là la prochaine fois que le fournisseur sera injecté.
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots