NativeScript ListView 不起作用。我没有看到数据

NativeScript ListView dosnt work. i dont see the data

我有 task-component.ts,其中包含 userTaskList 数组中的一些数据。 现在我想向用户显示此数据。

我想用<ListView>来显示数据。

这是我所做的:

任务-component.ts :

 public userTaskList: any;
  constructor(private taskService: TaskService, private routerExtensions: RouterExtensions, private zone: NgZone) {
    this.userTaskList = [];
  }

  ngOnInit() {
    this.taskService.getAllTasks().toPromise().then(res => {
      this.userTaskList=res;
      this.zone.run(()=>{})
      console.log("data is here ! ==>>> ", this.userTaskList);
    })

  }

任务-component.html:

<ActionBar title="Task List">
  <NavigationButton text="Go Back" icon="res://back" ></NavigationButton>
</ActionBar>
<ListView [userTaskList]="myTasks" >
    <ng-template let-task="task" >
  <StackLayout >
      <Label [text]= task.Name ></Label>
      <Button text="Add" class="submit-button" (tap)="submit()"></Button>
      <Button text="logOut" class="submit-button" (tap)="logOut()"></Button>
      <Button text="ShowToken" class="submit-button" (tap)="Tokenv()"></Button>
  </StackLayout>
</ng-template>
</ListView>

我没有得到任何 Extantions,甚至当我 运行 它时按钮也消失了。 我只看到空白页。

你能告诉我我做错了什么吗? 谢谢!

改变

<ListView [userTaskList]="myTasks" >

<ListView [items]="userTaskList"  >

并更改:

<ng-template let-task="task" >

 <ng-template let-task="item" >

此外,您在 :

中忘记了 "
 <Label [text]= task.Name ></Label>

所以应该是:

<Label [text]= "task.Name" ></Label>

Listview 要求 [items] 成为 属性 名称。

顺便说一句 - 你在这里不需要 ngZone。 (还有一个友好的建议,使用可观察对象。而不是承诺)。