NativeScript ListView不能工作。我没有看到数据

时间:2018-08-29 18:27:12

标签: listview nativescript ng-template

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

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

这是我所做的:

task-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);
    })

  }

task-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>

我没有任何扩展,甚至当我运行它时按钮也消失了。 我所看到的只是空白页。

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

1 个答案:

答案 0 :(得分:3)

更改

<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>

列表视图要求[items]为属性名称。

顺便说一句-您在这里不需要ngZone。 (还有一个友好的建议,与可观察的对象一起工作。不是承诺)。