Ich habe Probleme mit dem Routing in Mys ListView. Routing scheint nicht zu funktionieren oder sehr langsam zu sein. HierRouting in ListView funktioniert nicht
ist die "html" Ansicht:
<ActionBar [title]="'TITLE' | translate" >
<ActionItem [text]="'SETTINGS' | translate " (tap)="settings()"
android.systemIcon="ic_menu_share_holo_dark"
ios.systemIcon="9"
ios.position="right">
</ActionItem>
</ActionBar>
<GridLayout rows="auto, auto, *">
<SearchBar [(ngModel)]="search" [hint]="'SEARCH' | translate" row="0"
(submit)="searchSubmit()"
(clear)="searchClear()"
#searchFilter (keyup) = "0"
></SearchBar>
<Button **(tap)="select(null)"** row="1" ></Button>
<!--<ListView [items]="groceryList" row="1" class="small-spacing"> -->
<ListView [items]="signalList | signalFilter:search " row="2" class="small-spacing" [class.visible]="listLoaded">
<template let-item="item">
<GridLayout rows="*" columns="50px, *, auto" >
<Image col="0" [src]="item.image | signalImage " stretch="none"
horizontalAlignment="center" verticalAlignement="center"
></Image>
<StackLayout col="1" **(tap)="select(item)"** >
<Label [text]="item.name" class="medium-spacing" class="list-title"></Label>
<Label [text]="item.description | slice:0:150" class="list-description" textwrap="true" ></Label>
</StackLayout>
<Button col="2" text="See" **(tap)="select(item)"** ></Button>
</GridLayout>
</template>
</ListView>
<ActivityIndicator [busy]="isLoading"
[visibility]="isLoading ? 'visible' : 'collapse'"
row="1"
horizontalAlignment="center" verticalAlignment="center">
</ActivityIndicator>
Ich habe einige tippen Sie auf verschiedene Objekte: - Auf Knopfdruck unter meiner Suchleiste (nur Test) - Auf dem stacklayout , - Auf einen Knopf rechts neben meinem Stacklayout. Hier
ist der Code:
select(signal : Signal) {
console.dump(signal);
// For the debug ...
let id:string = "2";
//if(signal != null) { id = signal.id; }
this._router.navigate(["View", { id: id }]);
}
Wenn ich auf der ersten Taste tippen: every geht gut und schnell. Wenn ich auf die anderen Möglichkeiten tippe: Routing funktioniert nicht. Ich muss ein anderes Ereignis machen, wie zum Beispiel die Suche in der Suchleiste, damit die Dinge funktionieren.
Hier mein package.json:
{
// [...]
},
"dependencies": {
"@angular/common": "2.0.0-rc.4",
"@angular/compiler": "2.0.0-rc.4",
"@angular/core": "2.0.0-rc.4",
"@angular/platform-browser": "2.0.0-rc.4",
"@angular/platform-browser-dynamic": "2.0.0-rc.4",
"@angular/platform-server": "2.0.0-rc.4",
"@angular/router-deprecated": "2.0.0-rc.2",
"nativescript-angular": "0.2.0",
"nativescript-ng2-translate": "^1.1.0",
"ng2-translate": "^2.2.2",
"tns-core-modules": "^2.1.0"
},
"devDependencies": {
"babel-traverse": "6.10.4",
"babel-types": "6.11.1",
"babylon": "6.8.4",
"filewalker": "0.1.3",
"lazy": "1.0.11",
"nativescript-dev-typescript": "^0.3.2",
"typescript": "^1.8.10"
}
}
Ps: Ich habe bemerkt, dass ich zwei packages.json habe. Eine in meinem Stammprojektordner und eine zweite in meinem App-Projektordner. Sie scheinen nicht synchronisiert zu sein. Kann das ein Problem sein? Welcher wird schließlich benutzt? In diesem Beitrag zeige ich dir das Projekt.
überprüfen Ich habe meinen Code geändert. Aber ich habe immer noch ein Problem: Wenn ich einen Knopf außerhalb der Liste benutze und zurückkomme: kein Problem. Aber wenn ich das gleiche in der Liste mache und zurückkomme: die ngInit-Methode meiner Liste wird nicht aufgerufen ... So ist meine Seite leer ... – xiii29
Sie könnten versuchen, Ihren ListView-Inhalt im 'Konstruktor' oder auf ListView zu laden 'onloaded' Ereignis. Dies sollte Ihr Problem mit der Navigation und Ihrem ListView lösen. In diesem Zusammenhang habe ich mein Beispielprojekt aktualisiert und ListView auf der zweiten Seite hinzugefügt. –
funktioniert auch nicht ... Und basierend auf was ich lese, sollte es auf ngOnInit getan werden. Warum heißt es nicht so wie früher? Ich denke, dass ich mein Projekt basierend auf Änderungen am Dokument neu starten muss ... Danke für deine Hilfe. – xiii29