非常に基本的なバーコードスキャナで作業していて、コントローラからのビューに根ざした問題があります。 ngOnInit()関数の私のapp.component.tsでは、ローカルIPがアプリケーション設定に保存されているかどうかをチェックし、設定されていなければ、IPを設定できる設定ビューにルートする必要があります。 [nsRouterLink]を使用して設定ビューに移動するとうまくいきますが、これをプログラムで行うことはできないようです...私が間違っていることは何ですか?Angular2/Nativescript:コンポーネントコントローラからプログラムでビューにルーティングできません
app.component.ts:
import { Component, OnInit } from "@angular/core";
import { Router } from '@angular/router';
import { RestService } from './services/rest.service';
import { AppSettingsService } from './services/app-settings.service';
@Component({
selector: "main",
template : "<page-router-outlet></page-router-outlet>"
})
export class AppComponent implements OnInit {
constructor(private restService: RestService, private appSettingsService: AppSettingsService, private router: Router) {
}
ngOnInit() {
let ip = this.appSettingsService.findLocalIP();
if (ip !== null) {
this.restService.init(ip);
} else if (ip === null) {
console.log("ip: " + ip);
this.router.navigate(['settings']);
}
}
}
app.routing.ts:
import { AppComponent } from './app.component';
import { HomeComponent } from './pages/home/home.component';
import { CheckBarcodesComponent } from './pages/check-barcodes/check-barcodes.component';
import { SettingsComponent } from './pages/settings/settings.component';
export const routes = [
{path: "", component: HomeComponent},
{path: "checkBarcodes", component: CheckBarcodesComponent},
{path: "settings", component: SettingsComponent}
];
export const navigatableComponents = [
HomeComponent,
CheckBarcodesComponent,
SettingsComponent
];
があなたの 'はconsole.logん( "IP:" + IP)は、'呼び出されますか? – Peza
@Pezaはい、毎回nullとして記録されます。 – user2094257