typescript नवीनतम मूल स्क्रिप्ट के साथ पैरामीटर के साथ कोनेुलर और टाइपस्क्रिप्ट के साथ नेविगेट करें



angular navigation (1)

आपको यह व्यक्त करने की आवश्यकता है कि आपको इस मार्ग में पैरामीटर होना चाहिए:

export const routes: RouterConfig = [
    { path: "", component: MainPage },
    { path: "details/:id", component: DetailsPage }
];

तो, आप इसे इस तरह से पारित कर सकते हैं:

this._router.navigate(["/details", selectedItem.id]);

अपने DetailsPage आप DetailsPage सेवा के साथ एक नमूने के रूप में मानदंड प्राप्त कर सकते हैं।

मैं मापदंडों के साथ किसी अन्य पृष्ठ पर नेविगेट करना चाहता हूं, लेकिन मुझे प्रलेखन ढूंढने में प्रतीत नहीं हो सकता है जो यह अच्छी तरह बताता है। मैं मार्गों का उपयोग कर रहा हूँ यहां मेरे मार्गों का एक उदाहरण है

import { RouterConfig } from '@angular/router';
import { nsProvideRouter } from 'nativescript-angular/router';
import { MainPage } from './pages/main/main.component';
import { DetailsPage } from './pages/details/details.component';

export const routes: RouterConfig = [
    { path: "", component: MainPage },
    { path: "details", component: DetailsPage }
];

export const APP_ROUTER_PROVIDERS = [
    nsProvideRouter(routes, {})
];

मैं मेन्यूपेज पर चुने गए मापदंडों के साथ विवरणपेज पर नेविगेट करना चाहता हूं। यहां मेनपेज का एक अंश है:

import { Page } from 'ui/page';
import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';
import { Entity } from '../../shared/entity/entity';

@Component({
    selector: "main",
    templateUrl: "pages/main/main.html",
    styleUrls: ["pages/main/main-common.css", "pages/main/main.css"]
})
export /**
 * MainPage
 */
class MainPage {

    constructor(private _page: Page, private _router: Router) { }

    onNavigate(selectedItem: Entity) {
        // Can't figure out how to get selectedItem to details…
        this._router.navigate(["/details"]);
    };
}

डाला: नीचे मैंने विस्तार कक्षा को जोड़ा।

import { Component, OnInit, OnDestroy } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Entity } from '../../shared/entity/entity';
import { EntityModel } from '../../shared/entity/entity.model';

@Component({
    selector: "detail",
    templateUrl: "pages/detail/detail.html",
    styleUrls: ["pages/detail/detail-common.css", "pages/detail/detail.css"],
    providers: [EntityModel] 
})
export /**
 * DetailPage
 */
class DetailPage implements OnInit, OnDestroy {

    entity: Entity;

    private _paramSubcription: any;

    constructor( private _activatedRoute: ActivatedRoute, private _entityModel: EntityModel ) { }

    ngOnInit() {
        console.log("detail ngOnInit was called.");
        let entityName: string;
        this._paramSubcription = this._activatedRoute.params.subscribe(params => entityName = params['id']);
        this.entity = this._entityModel.entityNamed(entityName);
    };

    ngOnDestroy() {
        if (this._paramSubcription) {
            this._paramSubcription.unsubscribe();
        };
    };
}

विस्तार के लिए यहां टेम्पलेट है:

<ActionBar [title]="entity.name"></ActionBar>
<ListView [items]="entity.items">
    <Template let-item="item">
        <StackLayout>
            <Label [text]="item.name"></Label>
            <Label [text]="item.description"></Label>
        </StackLayout>
    </Template>
</ListView>

मैंने एक NavigationContext कॉन्टैक्स की तरह कक्षाएं पाई हैं और तरीकों navigateTo और navigateFrom , लेकिन मुझे पता नहीं है कि Page NavigationContext कैसे भेजें। या यदि उसे भी उस तरह भेजा जाना चाहिए। तो सवाल यह है कि किसी दूसरे पेज पर नेविगेट करने के लिए Routing का उपयोग करने का सबसे अच्छा तरीका क्या है (कोई डायलॉग नहीं) और मापदंडों को पास करते हैं?





nativescript