Я работаю над очень простым штрих-кодовым сканером и имею некоторые проблемы, связанные с представлением с контроллера. В моем app.component.ts в функции ngOnInit() я проверяю, был ли локальный 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:" + ф);' дозвонились? – Peza
@Peza да, он регистрируется как null каждый раз. – user2094257