Ionic-framework: рдЖрдпреЛрдирд┐рдХ V2: NavController рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рджрд╛рддрд╛ рдирд╣реАрдВ! рд╕рдорд╛рдзрд╛рди?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 10 рджрд┐рд╕ре░ 2016  ┬╖  15рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ionic-team/ionic-framework

рдЖрдпреЛрдирд┐рдХ рд╕рдВрд╕реНрдХрд░рдг: ("x" рдХреЗ рд╕рд╛рде рдПрдХ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ)
[] 1.x
[рдПрдХреНрд╕] 2.x

рдореИрдВ рдПрдХ рдЬрдорд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ ... ("x" рдХреЗ рд╕рд╛рде рдПрдХ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ)
[рдПрдХреНрд╕] рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ
[ ] рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓реЗрдЦ рдорд╛рдВрдЧрдирд╛
[ ] рд╕рдорд░реНрдерди рдЕрдиреБрд░реЛрдз => рдХреГрдкрдпрд╛ рдпрд╣рд╛рдВ рд╕рдорд░реНрдерди рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рди рдХрд░реЗрдВ, рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдЪреИрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: https://forum.ionicframework.com/ рдпрд╛ http://ionicworldwide.herokuapp.com/

рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░:
рд╕реЗрд╡рд╛ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдореЗрдВ NavController рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЛрдИ рдкреНрд░рджрд╛рддрд╛ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ

рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░:
рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

рдкреНрд░рдЬрдирди рдХреЗ рдЪрд░рдг:
рдпрд╣ рд╡рд░реНрдЧ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ (рдЕрдиреНрдп рдбреАрдкреА рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдлреЗрдВрдХрддрд╛ рд╣реИ)

import {Interceptor, InterceptedRequest, InterceptedResponse} from 'ng2-interceptors';
import {NavController, Platform, AlertController} from "ionic-angular";
import {Injectable, Injector} from "@angular/core";

@Injectable()
export class ServerInterceptorService implements Interceptor {

  constructor(public platform: Platform,
              public alertCtl: AlertController,
              public navCtl: NavController) {
  }

  public interceptBefore(request: InterceptedRequest): InterceptedRequest {
    // Do whatever with request: get info or edit it

    return request;
    /*
     You can return:
     - Request: The modified request
     - Nothing: For convenience: It's just like returning the request
     - <any>(Observable.throw("cancelled")): Cancels the request, interrupting it from the pipeline, and calling back 'interceptAfter' in backwards order of those interceptors that got called up to this point.
     */
  }

  public interceptAfter(response: InterceptedResponse): InterceptedResponse {
    // Do whatever with response: get info or edit it
    console.log("////////////", response)
    return response;
    /*
     You can return:
     - Response: The modified response
     - Nothing: For convenience: It's just like returning the response
     */
  }
}

рдФрд░ рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╡рд░реНрдЧ http рдкреНрд░рджрд╛рддрд╛ рдХреЛ app.module.ts . рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ

providers:[
    ServerInterceptorService,
    {
      provide: Http,
      useFactory: interceptorFactory,
      deps: [XHRBackend, RequestOptions, ServerInterceptorService]
    },
...]

рдЕрдиреНрдп рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдареАрдХ рд╕реЗ рдЗрдВрдЬреЗрдХреНрд╢рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@ m3l7 рдЕрдЧрд▓рд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

  constructor(
    protected app: App,
...
  get navCtrl(): NavController {
    return this.app.getRootNav();
  }

рд╕рднреА 15 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

https://forum.ionicframework.com/t/why-cant-i-import-navcontroller-and-viewcontroller-into-service-or-app/40999/26 рдХреЗ рдЕрдиреБрд╕рд╛рд░
рдпрд╣ рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

рдмрд╕ рдЗрд╕ рдкрд░ рдЭрдВрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ ViewController рдпрд╛ NavController рдХреЛ рд╕реЗрд╡рд╛ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдЙрдирдХрд╛ рдЗрдЪреНрдЫрд┐рдд рдЙрджреНрджреЗрд╢реНрдп рдирд╣реАрдВ рд╣реИред

рдлрд┐рд░ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ, рд╣рдореЗрдВ рдРрдк рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдХреИрд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреМрди рд╕рд╛ рд╕рдХреНрд░рд┐рдп рджреГрд╢реНрдп рджреЗрдЦрддрд╛ рд╣реИ?

рдХреНрдпрд╛ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рджреГрд╢реНрдп рдШрдЯрдХ рдХреЛ рд╕реБрдирдиреЗ рдпрд╛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рд╕реЗрд╡рд╛ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рдХрд░ рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛ рджреЗрдВрдЧреЗ рдпрджрд┐ рдпрд╣ рдЕрдкрдиреЗ рдЖрдВрддрд░рд┐рдХ рддрд░реНрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ рддреЛ рджреГрд╢реНрдп рдХреЛ рдкрддрд╛ рдЪрд▓ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ рд▓реЙрдЧрд┐рди рдкреГрд╖реНрда рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдХреЗ рдЕрдиреБрд╕рд╛рд░
https://medium.com/coding-snippets/ionic-2-ui-alert-from-a-angular-2-service-221a2e526760#.spxbdpfz1

constructor(private app: IonicApp) {}
let alert = Alert.create({title: 'Error', message: message, buttons: ['OK']});
var nav = this.app.getActiveNav();
nav.present(alert

рдореЗрд░реЗ рд▓рд┐рдП рдЖрд░рд╕реА 3 рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдХреБрдЫ рдмрд┐рдВрджреБ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди ...

рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдХреЛрдгреАрдп рдЯреАрдо рдпрд╛ рдЕрдиреНрдп рд▓реЛрдЧ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ _рдпрд╣ рдПрдХ рджреГрд╢реНрдп рдШрдЯрдХ рд╣реИ рдФрд░ рд╡рд╣ рдПрдХ рд╕реЗрд╡рд╛ рд╡рд╕реНрддреБ рд╣реИ_, рдЙрдиреНрд╣реЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд░реНрдЧреАрдХрд░рдг рдирд┐рд░реНрдзрд╛рд░рдг рд╕реЗ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИред рд╡реЗ рд╕рднреА рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВ рдЬреЛ рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рдПрдХ-рджреВрд╕рд░реЗ рдХрд╛ рд╕рдВрджрд░реНрдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдФрд░ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рдЕрдореВрд░реНрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрддрд░ рдкрд░ NavController рдПрдХ рд╕рд╛рдзрд╛рд░рдг рджреГрд╢реНрдп рдпреБрдЧреНрдорд┐рдд рд╡рд░реНрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд┐рдВрдЧ рд╡реИрд╢реНрд╡рд┐рдХ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЪреВрдВрдХрд┐ NavController "рд╕реЛ рдХреЛрд░" рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпрд╛ Ionic рдХреЛрд░ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдПрдХ рдХреЗрдВрджреНрд░реАрдХреГрдд рдРрдк рд╡рд╛рдЗрдб рд╕рд░реНрд╡рд┐рд╕ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ред

рдЖрдкрдХреЗ app.component.ts the рдЕрджреНрднреБрдд . рдХреЗ рднреАрддрд░ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдЧрдВрджрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ
@ViewChild('carguardNav') navCtrl: NavController
рдЕрдиреНрдп рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ

myGlobalService.nav = this.navCtrl

рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдЪрд░рдг рдХреЗ рджреМрд░рд╛рди, рдФрд░ рдлрд┐рд░ рдЖрдкрдХреА рдЕрдиреНрдп рд╕реЗрд╡рд╛ рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ MyGlobalService рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ рдФрд░ рдЗрдВрдЬреЗрдХреНрдЯ рдХреА рдЧрдИ рдереАред

рдирдорд╕реНрдХрд╛рд░! рдЦреЗрдж рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред рдЗрд╕рд▓рд┐рдП NavController рдХреЛ рдХрд┐рд╕реА рд╕реЗрд╡рд╛ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рд╕реЗрд╡рд╛ рдореЗрдВ NavController рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдгреАрдп рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ NavController рдПрдХ рд╕рдВрджрд░реНрдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдпрд╛рдж рд░рдЦрдиреЗ рд╡рд╛рд▓реА рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ NavController рдХреЗ рд▓рд┐рдП рдХреЗрдВрджреНрд░реАрдп рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рдорд╛рдирдХ Angular DI рддреНрд░реБрдЯрд┐ рд╣реИред рдЕрдЧрд░ рдореИрдВ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ рдЖрдк рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдИрд╡реЗрдВрдЯ рдЙрддреНрд╕рд░реНрдЬрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдорд╛рд░реА рдУрд░ рд╕реЗ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдВрдЧреБрд▓рд░ 2 рдореЗрдВ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЗрдВрдЬреЗрдХреНрд╢рди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрдВрдж рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдХреЗрдВрджреНрд░реАрдХреГрдд рдРрдк рд╡рд╛рдЗрдб рдиреЗрд╡реАрдХрдВрдЯреНрд░реЛрд▓рд░ рд╕рд░реНрд╡рд┐рд╕ рдЖрдЗрдбрд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рдЦреЛрд▓реЗрдВред рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВред рдЖрдпреЛрдирд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдЕрд╕рд▓ рдореЗрдВ рдореИрдВрдиреЗ рдПрдХ рдФрд░ рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЪрд┐рдВрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдореИрдВ рдЖрдИрдУрд╕реА рдкреИрдЯрд░реНрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреГрд╢реНрдп рдФрд░ рд╕реЗрд╡рд╛ рдШрдЯрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдРрдк рд╡рд╛рдЗрдб рдЗрд╡реЗрдВрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рд╕реЗрд╡рд╛рдУрдВ рд╕реЗ рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ рдкреНрд░рд╕рд╛рд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдФрд░ рджреГрд╢реНрдп рдШрдЯрдХреЛрдВ рдореЗрдВ рдЙрдирдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдирд╛ред

@barocsi рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЕрдкрдирд╛ рд╕рдорд╛рдзрд╛рди рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рд╣реИ? рдореИрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рд░рд╣рд╛ рд╣реВрдБред

рдЙрд╕ рдЧрдВрджрдЧреА рдХреЛ рдЧреЗрдЯрдЯрд░ рдФрд░ рдЗрдВрдЬреЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛

  constructor(
    protected injector: Injector
  ) {

...

  get navCtrl(): NavController {
    return this.injector.get(NavController);
  }

@bobrosoft рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рдордХрд╛рдЬреА рдЙрджрд╛рд╣рд░рдг рд╣реИ? рдореБрдЭреЗ рдЖрдкрдХреЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ "Navcontroller рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЗрдВрдЬреЗрдХреНрдЯрд░ рдирд╣реАрдВ" рдорд┐рд▓рддрд╛ рд╣реИ

@ m3l7 рдЕрдЧрд▓рд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

  constructor(
    protected app: App,
...
  get navCtrl(): NavController {
    return this.app.getRootNav();
  }

@bobrosoft рдареАрдХ рд╣реИ, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред (рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдХрд╛рдо рдХрд░реЗрдЧрд╛)ред

рдЖрдпрдирд┐рдХ 2 рдореЗрдВ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рд░реВрдЯрд┐рдВрдЧ рд╕рдорд╛рдзрд╛рди рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ .. рдореИрдВ рдмрд╕ рдПрдХ рдореВрд▓ 401 рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдРрдк рдХреЛ рд▓реЙрдЧрд┐рди рдкреЗрдЬ рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдЕрд░реЗ @bobrosoft : рдпрд╣ рдЗрд╕рдХрд╛ рддрд░реАрдХрд╛ рд╣реИ!

рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ (@рдЗрдВрдЬреЗрдХреНрдЯ (рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо) рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо, @рдЗрдВрдЬреЗрдХреНрдЯ (NavController) navController) {
}

рдЗрд╕реЗ рдпрд╣рд╛рдВ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: https://github.com/driftyco/ionic/issues/5543

@mpeguero рдЬреЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЕрдЧрд░ рд╕реЗрд╡рд╛ (рд╣рдо рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд╣реИ рдирд╛?) рдкрд╣рд▓реЗ рдХреЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рддрддреНрдХрд╛рд▓ рдФрд░ рдпрд╣ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдкрд╣рд▓реЗ рдЙрддреНрддрд░ рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдЪреЗрдХ рдХрд┐рдпрд╛ рдерд╛ред

рд╡рд╣ рд╕рдорд╛рдзрд╛рди

  constructor(
    protected app: App,
...
  get navCtrl(): NavController {
    return this.app.getRootNav();
  }

рдмреЗрд╣рддрд░ рд╣реИ рд▓реЗрдХрд┐рди рдЖрджрд░реНрд╢ рднреА рдирд╣реАрдВред

рдЖрдпрдирд┐рдХ рдбреЙрдХреНрд╕ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рд╣реИред рдпрд╣ рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

Android рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрд▓реБрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ http://aka.ms/ghei36

рд╕реЛрдо, рдорд╛рд░реНрдЪ 20, 2017 рдкрд░ 04:44 -0400 рдкрд░, "рд╡реНрд▓рд╛рджрд┐рдореАрд░ Tolstikov" < [email protected] [email protected] > рдиреЗ рд▓рд┐рдЦрд╛:

@mpeguero https://github.com/mpeguero рдЬреЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЕрдЧрд░ рд╕реЗрд╡рд╛ (рд╣рдо рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд╣реИ рдирд╛?) рдкрд╣рд▓реЗ рдХреЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рддрддреНрдХрд╛рд▓ рдФрд░ рдпрд╣ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдкрд╣рд▓реЗ рдЙрддреНрддрд░ рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдЪреЗрдХ рдХрд┐рдпрд╛ рдерд╛ред

рд╡рд╣ рд╕рдорд╛рдзрд╛рди

рдирд┐рд░реНрдорд╛рддрд╛ (
рд╕рдВрд░рдХреНрд╖рд┐рдд рдРрдк: рдРрдк,
...
navCtrl рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (): NavController {
рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░реЗрдВред рдРрдкред getRootNav ();
}

рдмреЗрд╣рддрд░ рд╣реИ рд▓реЗрдХрд┐рди рдЖрджрд░реНрд╢ рднреА рдирд╣реАрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub https://github.com/driftyco/ionic/issues/9581#issuecomment-287701528 рдкрд░ https://github.com/notifications/unsubscribe-auth/ABvDpy- 6mn19VUnkSbBakAj11hsdEv1zks5rnjxygaJpZM4LJvpd ред

рддреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдкрд░ рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рд╣реИ? рдпрджрд┐ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ 401 рдпрд╛ 403 рдХреА HttpErrorResponse рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рд▓реЙрдЧрдЖрдЙрдЯ рдкреГрд╖реНрда рдЦреЛрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╡рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдЕрд╕рдВрднрд╡ рд▓рдЧрддрд╛ рд╣реИ, рд╕рдЪ рдореЗрдВред

рдпрд╣ рднреА рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рди рд╣реИ рдХрд┐ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реЗрд╡рд╛ NavController рдЗрдВрдЬреЗрдХреНрдЯ рдФрд░ рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдирд╣реАрдВ рдХрд░реЗрдЧреАред рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдк рдкреЗрдЬ рдП рдореЗрдВ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдШрдЯрдХ private navCtrl: NavController рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдпрд╣ global-function-provider рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЕрдм рдпрджрд┐ рдпрд╣ рдкреНрд░рджрд╛рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рднреА рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ NavController рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдШрдЯрдХ рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдЪреАрдЬреЗрдВ рдЧрдбрд╝рдмрдбрд╝ рд╣реЛ рдЬрд╛рдПрдВрдЧреАред

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдЬрдм рднреА рдЖрдк рдЙрд╕ рдкреЗрдЬ рдХреЗ navCtrl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЙрд╕ рд╡реИрд╢реНрд╡рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореВрд▓ рдореБрджреНрджреЗ рд╕реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд▓реЙрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдЕрднреА рднреА Ionic рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдмрдирд╛рдПрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

BilelKrichen picture BilelKrichen  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

RobFerguson picture RobFerguson  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MrBokeh picture MrBokeh  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

vswarte picture vswarte  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

manucorporat picture manucorporat  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ