Проблема продемонстрированы на примере проекта: https://github.com/rrcoolp/test-router-app/Nativescript Угловая маршрутизатор 3.0.0-alpha.7 - отказ навигации
Навигация провал: Я создал этот тестовый проект, чтобы представить проблему с NATIVESCRIPT ANGULAR 2 (RC3) Nativescript с маршрутизатором 3.0.0-alpha.7
Проблема проста, переход на другую страницу невозможен после первой навигации. Чтобы увидеть проблему в действии выполните следующие действия:
Нажмите на любую кнопку (GOTO PAGE 1 или GOTO PAGE 2): после первой нажмите на соответствующую страницу, и это содержание оказывается
Любые последующие щелчки либо из кнопок (включая компоненты ДЕТСКИХ) не в навигации
Любая помощь будет оценена ...
Вот пример моего APP_COMP ONENT файл:
import {Component, OnInit, ChangeDetectorRef} from "@angular/core";
import {NS_ROUTER_DIRECTIVES} from "nativescript-angular/router";
import {ROUTER_DIRECTIVES, Router} from '@angular/router';
import {APP_ROUTER_PROVIDERS} from "./app.routes";
import {Location, LocationStrategy} from "@angular/common";
import {app_globals} from "./utils/globals";
@Component({
\t selector: "main",
\t directives: [ROUTER_DIRECTIVES, NS_ROUTER_DIRECTIVES],
\t providers: [APP_ROUTER_PROVIDERS],
\t templateUrl: "masterpage.html"
})
export class AppComponent implements OnInit {
\t showBackButton: boolean = false;
\t history: any = [];
\t pushState: any;
\t constructor(public _router: Router, private _changeDetectionRef: ChangeDetectorRef, private _Location: Location, private _LocationStrategy: LocationStrategy, private _app_globals: app_globals) {
\t \t this._changeDetectionRef = _changeDetectionRef;
\t \t this._LocationStrategy = _LocationStrategy;
\t }
\t ngOnInit() {
\t \t this._app_globals.navigateTo$.subscribe(val => {
\t \t \t console.log("SUBSCRIBED NAVIATE TO:" + val);
\t \t \t this.navigateTo(val);
\t \t });
\t }
\t goBack() {
\t \t this._LocationStrategy.back();
\t }
\t navigateTo(page) {
\t \t console.log("GotoTestPage"+page);
\t \t this._router.navigate(["testpage"+page, "PAGE"+page]).then(() => {
\t \t \t alert("Route Completed but see content didn't change to PAGE"+page);
\t \t \t
\t \t });
\t }
\t GotoTestPage2() {
\t \t this.navigateTo("2");
\t }
\t GotoTestPage1() {
\t \t this.navigateTo("1");
\t }
}
ТНС запустить Android – Rrcoolp
Убедитесь поставщики маршрутизаторов приложений определяются только один раз. Попробуйте переместить эти провайдеры только в метод bootstap. Я могу взглянуть позже, если это не сработает. В кафе прямо сейчас. – Matthew
Я еще не пробовал использовать выход маршрутизатора ' router-outlet>' вы могли бы добавить для него базовый маршрут? https://github.com/NativeScript/nativescript-angular/blob/master/ng-sample/app/examples/router/router-outlet-test.ts#L67 –
Matthew