Ionic-framework: Ionic V2: NavController์— ๋Œ€ํ•œ ๊ณต๊ธ‰์ž๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค! ํ•ด๊ฒฐ์ฑ…?

์— ๋งŒ๋“  2016๋…„ 12์›” 10์ผ  ยท  15์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: ionic-team/ionic-framework

Ionic ๋ฒ„์ „: ("x"๋กœ ํ•˜๋‚˜ ์„ ํƒ)
[ ] 1.x
[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
     */
  }
}

์œ„์˜ ํด๋ž˜์Šค๋Š” app.module.ts์˜ http ์ œ๊ณต์ž๋ฅผ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค.

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๋ฅผ Service์— ์ฃผ์ž…ํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค.
์ด๊ฒƒ์€ ๊ทธ๋“ค์˜ ์˜๋„๋œ ๋ชฉ์ ์ด ์•„๋‹™๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ํ™œ์„ฑ ๋ณด๊ธฐ์— ๋”ฐ๋ผ ์ž‘๋™ํ•˜๋Š” ์ „์—ญ ์ธํ„ฐ์…‰ํ„ฐ๋ฅผ ์•ฑ์— ์–ด๋–ป๊ฒŒ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”.

๋‚ด๋ถ€ ๋…ผ๋ฆฌ์— ๋”ฐ๋ผ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋‚ด๋ณด๋‚ธ๋‹ค๋ฉด ์ธํ„ฐ์…‰ํ„ฐ ์„œ๋น„์Šค๋ฅผ ์ˆ˜์‹ ํ•˜๊ฑฐ๋‚˜ ๊ตฌ๋…ํ•˜๋„๋ก ๊ฐ ๋ทฐ ๊ตฌ์„ฑ ์š”์†Œ์— ์ง€์‹œํ•˜์—ฌ ์‚ถ์„ ์ง€๋‚˜์น˜๊ฒŒ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์„œ ๋ทฐ๊ฐ€ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ๋Œ์•„๊ฐ€์•ผ ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ํ• ๊นŒ์š”?

~์— ๋”ฐ๋ฅด๋ฉด
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

๋‚˜๋ฅผ ์œ„ํ•ด rc3์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ œ๊ฐ€ ์š”์ ์„ ๋†“์น˜๊ณ  ์žˆ์„์ง€๋„ ๋ชจ๋ฅด์ง€๋งŒ...

Angular ํŒ€์ด๋‚˜ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด _์ด๊ฒƒ์€ ๋ณด๊ธฐ ๊ตฌ์„ฑ ์š”์†Œ์ด๊ณ  ๊ทธ๊ฒƒ์€ ์„œ๋น„์Šค ๊ฐ์ฒด๋ผ๊ณ  ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ์ข…์˜ ๋ถ„๋ฅ˜ ๊ณ ์ • ๋•Œ๋ฌธ์— ์™„์ „ํžˆ ๊ฒฉ๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค ๋ชจ๋‘๋Š” ํ•„์š”ํ•  ๋•Œ ์„œ๋กœ์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๊ณ  ๋˜ ์–ป์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋Š” ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค.

๊ฒŒ๋‹ค๊ฐ€ ์ถ”์ƒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ค€์˜ NavController๋Š” ๋‹จ์ˆœํ•œ ๋ณด๊ธฐ ๊ฒฐํ•ฉ ํด๋ž˜์Šค๋ณด๋‹ค ๋” ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜๋œ ์ „์—ญ ์ปจํŠธ๋กค๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ NavController๋Š” "ํ•ต์‹ฌ"์ด๋ฏ€๋กœ ์ด ๋””์ž์ธ์„ ์žฌ๊ณ ํ•˜๊ฑฐ๋‚˜ Ionic ํ•ต์‹ฌ ๋ชจ๋“ˆ์— ์ค‘์•™ ์ง‘์ค‘์‹ ์•ฑ ์ „์ฒด ์„œ๋น„์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์•„์ฃผ ๊ฐ„๋‹จํ•œ ๋”๋Ÿฌ์šด ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ app.component.ts ๋‚ด์—์„œ,์ด ๋†€๋ผ์šด์—๊ฒŒ
@ViewChild('carguardNav') navCtrl: NavController
๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ์„œ๋น„์Šค ์ œ๊ณต์ž์—๊ฒŒ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

myGlobalService.nav = this.navCtrl

ํ”Œ๋žซํผ ์ดˆ๊ธฐํ™” ๋‹จ๊ณ„์—์„œ MyGlobalService์— ์˜์กดํ•˜๊ณ  ์ฃผ์ž…ํ•œ ๋‹ค๋ฅธ ์„œ๋น„์Šค์—์„œ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๋ณด์„ธ์š”! ์—ฌ๊ธฐ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์„œ๋น„์Šค์— NavController๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— NavController๋ฅผ ์„œ๋น„์Šค์— ์ฃผ์ž…ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Angular ์ข…์†์„ฑ ์ฃผ์ž…์ด ์–ด๋–ค NavController๊ฐ€ ์ฐธ์กฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”์ง€ ์•Œ์ง€ ๋ชปํ•˜์—ฌ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์–ตํ•ด์•ผ ํ•  ์ค‘์š”ํ•œ ์ ์€ ์ด๊ฒƒ์ด NavController์˜ ํ•ต์‹ฌ์ด ์•„๋‹ˆ๋ผ ํ‘œ์ค€ Angular DI ์˜ค๋ฅ˜๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ์ด๋ฒคํŠธ ์ด๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์šฐ๋ฆฌ ์ธก์˜ ์˜ค๋ฅ˜๊ฐ€ ์•„๋‹ˆ๋ผ ๋‹จ์ˆœํžˆ Angular 2์—์„œ ์ข…์†์„ฑ ์ฃผ์ž…์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์— ์ง€๊ธˆ์€ ์ด ๋ฌธ์ œ๋ฅผ ๋‹ซ์œผ๋ ค ํ•˜์ง€๋งŒ ์ค‘์•™ ์ง‘์ค‘์‹ ์•ฑ ์ „์ฒด navcontroller ์„œ๋น„์Šค ์•„์ด๋””์–ด์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ ์š”์ฒญ์„ ์—ฌ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์œ„์—์„œ ์–ธ๊ธ‰. Ionic์„ ์‚ฌ์šฉํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์‚ฌ์‹ค ๋‚˜๋Š” ๊ฑฑ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋˜ ๋‹ค๋ฅธ ์†”๋ฃจ์…˜์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. IoC ํŒจํ„ด์„ ํ†ตํ•ด ๋ณด๊ธฐ ๋ฐ ์„œ๋น„์Šค ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์•ฑ ์ „์ฒด ์ด๋ฒคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@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 ok, ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” nav.push(MyComponent)๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•˜๋ฉด ์ข…์†์„ฑ ๋ฃจํ”„๊ฐ€ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ nav.push๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” "๋ผ์šฐํ„ฐ" ์„œ๋น„์Šค์—์„œ ํฌ์ฐฉํ•œ ์ด๋ฒคํŠธ๋ฅผ ๊ฐ•์ œ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. (์ด ์†”๋ฃจ์…˜์ด ํšจ๊ณผ๊ฐ€ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค).

ionic2์— ๊ณ ๊ธ‰ ๋ผ์šฐํŒ… ์†”๋ฃจ์…˜์ด ์žˆ์œผ๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.. ๊ธฐ๋ณธ 401 ์ธํ„ฐ์…‰ํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ  ์•ฑ์„ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @bobrosoft : ์ด๊ฒƒ์ด ๋ฐ”๋กœ ๊ทธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค!

์ƒ์„ฑ์ž(@Inject(ํ”Œ๋žซํผ) ํ”Œ๋žซํผ, @Inject(NavController) navController) {
}

์ด๊ฒƒ์€ ์—ฌ๊ธฐ์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค: https://github.com/driftyco/ionic/issues/5543

@mpeguero ๋Š” ์„œ๋น„์Šค(์„œ๋น„์Šค์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.)๊ฐ€ ์ดˆ๊ธฐ ๋‹จ๊ณ„์—์„œ ์ธ์Šคํ„ด์Šคํ™”๋˜๊ณ  ๊ธฐ์ˆ ์ ์œผ๋กœ ๋‚ด ์ฒซ ๋ฒˆ์งธ ๋‹ต๋ณ€๊ณผ ๊ฑฐ์˜ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ „์— ๊ทธ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค.

๊ทธ ์†”๋ฃจ์…˜

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

๋” ์ข‹์ง€๋งŒ ์ด์ƒ์ ์ด์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค.

Ionic ๋ฌธ์„œ์—๋Š” ์†”๋ฃจ์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

Android์šฉ Outlook ๋ฐ›๊ธฐ http://aka.ms/ghei36

2017๋…„ 3์›” 20์ผ ์›”์š”์ผ ์˜ค์ „ 4์‹œ 44๋ถ„ -0400์‹œ, "Vladimir Tolstikov" < [email protected] [email protected] >์ด(๊ฐ€) ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

@mpeguero https://github.com/mpeguero ์„œ๋น„์Šค(์„œ๋น„์Šค์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค)๊ฐ€ ์ดˆ๊ธฐ ๋‹จ๊ณ„์—์„œ ์ธ์Šคํ„ด์Šคํ™”๋˜๊ณ  ๊ธฐ์ˆ ์ ์œผ๋กœ ๋‚ด ์ฒซ ๋ฒˆ์งธ ๋‹ต๋ณ€๊ณผ ๊ฑฐ์˜ ๋™์ผํ•˜๋ฉด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ „์— ๊ทธ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค.

๊ทธ ์†”๋ฃจ์…˜

๊ฑด์„ค์ž(
๋ณดํ˜ธ๋œ ์•ฑ: ์•ฑ,
...
navCtrl() ๊ฐ€์ ธ์˜ค๊ธฐ: NavController {
this.app.getRootNav()๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
}

๋” ์ข‹์ง€๋งŒ ์ด์ƒ์ ์ด์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค.

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub https://github.com/driftyco/ionic/issues/9581#issuecomment-287701528 ์—์„œ ํ™•์ธํ•˜๊ฑฐ๋‚˜ https://github.com/notifications/unsubscribe-auth/ABvDpy- ์Šค๋ ˆ๋“œ๋ฅผ ์Œ์†Œ๊ฑฐ

์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ˜„์žฌ ์†”๋ฃจ์…˜์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ธํ„ฐ์…‰ํ„ฐ๊ฐ€ 401 ๋˜๋Š” 403์˜ HttpErrorResponse ์ƒํƒœ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒฝ์šฐ ๋กœ๊ทธ์•„์›ƒ ํŽ˜์ด์ง€๋ฅผ ์—ด๋ ค๊ณ  ์‹œ๋„ํ•˜์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ •๋ง ๋ถˆ๊ฐ€๋Šฅํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

๊ธ€๋กœ๋ฒŒ ์„œ๋น„์Šค๊ฐ€ NavController ์ฃผ์ž…ํ•˜๊ณ  ์ธ์Šคํ„ด์Šคํ™”ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ๋„ ์ƒ์‹์ž…๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ private navCtrl: NavController ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ณ  global-function-provider ๋„ ์‚ฌ์šฉํ•˜๋Š” ํŽ˜์ด์ง€ A์— ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.
์ด์ œ ์ด ๊ณต๊ธ‰์ž๊ฐ€ ์ž์ฒด NavController ์ฃผ์ž…ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ์„ฑ ์š”์†Œ์—์„œ ๊ณต๊ธ‰์ž๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ œ ์ƒ๊ฐ์—๋Š” ํŽ˜์ด์ง€์˜ navCtrl ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋งˆ๋‹ค ์‚ฌ์šฉ ์ค‘์ธ ์ „์—ญ ํ•จ์ˆ˜์— ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์ด ๋ฌธ์ œ๋Š” ์›๋ž˜ ๋ฌธ์ œ์™€ ๊ด€๋ จ์ด ์—†๋Š” ๋Œ“๊ธ€์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ž ๊ฒจ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์—ฌ์ „ํžˆ ์ตœ์‹  ๋ฒ„์ „์˜ Ionic์—์„œ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ ์ƒˆ ๋ฌธ์ œ๋ฅผ ๋งŒ๋“ค๊ณ  ํ…œํ”Œ๋ฆฟ์ด ์™„์ „ํžˆ ์ฑ„์›Œ์กŒ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰