2016-12-16 8 views
0

Ich versuche, einige Experimente mit NativeScript zu machen, aber ich bin mit einem seltsamen Fehler konfrontiert, und ich kann den Punkt nicht verstehen.Nativescript und ListView, Element undefined

Ich bin eine einfache Liste von pokemons Innenseite meiner Komponente:

import {Component} from '@angular/core'; 
import {Http} from '@angular/http'; 

@Component({ 
    selector:'pokemon-list', 
    templateUrl: 'components/pokemonList/pokemonList.html' 
}) 
export default class PokemonList { 

    pokemons: Array<any>; 

    constructor(private http:Http){ 
    this.pokemons = [ 
     {name: 'Bulbi', url: 'google.com'} 
    ]; 
    } 
} 

Und die folgende Vorlage mit verbunden:

<StackLayout> 
    <Label text="Pokemons" class="h1 text-center"></Label> 
    <ListView [items]="pokemons"> 
    <template let-item="pokemon"> 
     <pokemon-item [name]="pokemon.name" [url]="pokemon.url"></pokemon-item> 
    </template> 
    </ListView> 
</StackLayout> 

Wenn ich versuche, die Anwendung zu starten, ich habe der folgende Fehler in meiner Konsole:

Error in components/pokemonList/pokemonList.html:4:20 caused by: undefined is not an object (evaluating 'self.parentView.context.pokemon.name') 

Was mache ich falsch? :/

Antwort

5

In Angular-2 die Syntax für einen let in Ihrem HTML-Deklaration ist die folgende:

let-myName="item" 

in Ihrem Fall:

let-pokemon="item" 

zunächst seine irgendwie seltsam, aber es total machen Sinn. Für ein Beispiel in voller Länge schauen Sie sich here

an
+0

Es hört sich zunächst total komisch an und NativeScript hilft nicht viel, weil ihr Standardbeispiel 'let-item =" item "' ist, was mich denken ließ, dass die Syntax 'let- item = "MeinKundenName" '. Danke für die Klarstellung! –

Verwandte Themen