के लिए कोई प्रदाता नहीं है मुझे अपने आयनिक 2/कोणीय 2 ऐप में कोई समस्या है।आयनिक 2: एक्सेप्शन: NavController
मुझे एक ऐप.ट्स मिला जहां छेद "auth" भाग कार्यान्वित है।
कोड इस तरह दिखता है:
ORIGINAL EXCEPTION: No provider for NavController
आप कैसे इस समस्या को हल करने के लिए कोई विचार है:
import {Nav, Platform, Modal, ionicBootstrap} from "ionic-angular";
import {NavController} from "ionic-angular/index";
import {StatusBar} from "ionic-native";
import {Component, ViewChild} from "@angular/core";
import {AngularFire, FirebaseListObservable, FIREBASE_PROVIDERS, defaultFirebase} from "angularfire2";
import {HomePage} from "./pages/home/home";
import {AuthPage} from "./pages/auth/home/home";
@Component({
templateUrl: "build/app.html",
})
class MyApp {
@ViewChild(Nav) nav: Nav;
authInfo: any;
rootPage: any = HomePage;
pages: Array<{title: string, component: any}>;
constructor(private platform: Platform, private navCtrl: NavController, private af: AngularFire) {
this.initializeApp();
this.pages = [
{ title: "Home", component: HomePage }
];
}
initializeApp() {
this.platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
StatusBar.styleDefault();
});
}
openPage(page) {
this.nav.setRoot(page.component);
}
ngOnInit() {
this.af.auth.subscribe(data => {
if (data) {
this.authInfo = data;
} else {
this.authInfo = null;
this.showLoginModal();
}
});
}
logout() {
if (this.authInfo) {
this.af.auth.logout();
return;
}
}
showLoginModal() {
let loginPage = Modal.create(AuthPage);
this.navCtrl.present(loginPage);
}
}
लेकिन अब, जब मैं अनुप्रयोग चलाने के लिए कोशिश मैं यह संदेश प्राप्त? धन्यवाद!
यह कोई त्रुटि नहीं है! 'NavController' सही ढंग से आयात किया गया है। समस्या यह है कि इसे यहां इंजेक्शन नहीं दिया जा सकता है। उन्होंने '@ViewChild (Nav) nav: Nav;' लिखकर 'nav 'का संदर्भ दिया। 'Nav'' NavController 'बढ़ाता है ताकि इसका उपयोग इसके बजाय किया जा सके। –