Hi i have a problem with ListView in NativeScript using Angular2.
in my directive i have Array of Objects
export class Room {
constructor(
public name: string,
public tag: string
){ }
}
import { Page } from "ui/page";
import { Component, OnInit, EventEmitter, Output, ChangeDetectionStrategy } from '@angular/core';
import { NativeScriptRouterModule } from "nativescript-angular/router";
import { NativeScriptModule } from "nativescript-angular/nativescript.module";
@Component({
moduleId: module.id,
selector: 'rooms-list',
templateUrl: "./template.html",
providers: [RoomService],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class RoomsListComponent implements OnInit {
public items: Array<Room> = [];
listLoaded = false;
load() {
for (let i = 0; i < 200; i++) {
this.items.push(
new Room("room " + i, "tag " + i)
);
}
}
ngOnInit(): void {
this.load();
}
onTap(name){
console.log('taped: '+name);
}
}
in my template i use ListView
<ListView [items]="items" id="roomsList">
<template let-item="item">
<StackLayout>
<Label [text]='"[" + item.tag +"] " + item.name'></Label>
</StackLayout>
</template>
</ListView>
but it looks like template tag doesnt exist, list contain only
[object Object] elements.
<template>has been changed to<ng-template>, similar question here: stackoverflow.com/a/43074761/3801632