【发布时间】:2017-04-11 02:36:32
【问题描述】:
您好,我在使用 Angular2 的 NativeScript 中遇到了 ListView 的问题。
在我的指令中我有对象数组
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);
}
}
在我的模板中我使用 ListView
<ListView [items]="items" id="roomsList">
<template let-item="item">
<StackLayout>
<Label [text]='"[" + item.tag +"] " + item.name'></Label>
</StackLayout>
</template>
</ListView>
但是看起来模板标签不存在,列表只包含
[object Object] 元素。
【问题讨论】:
-
您的代码看起来不错?你用的是什么版本的 nativescript?
-
是的,您使用的是什么版本,如果您使用的是 RC(意思是 Angular 4),
<template>已更改为<ng-template>,此处类似问题:stackoverflow.com/a/43074761/3801632 -
@VladimirAmiorkov 与 ng-template 仍然无法正常工作。我使用的是 nativescript 2.5
标签: android angular listview nativescript