1

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

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

这是我所做的:

任务组件.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);
    })

  }

任务组件.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>

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

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

4

1 回答 1

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>

Listview 需要[items] 是属性名称。

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

于 2018-08-29T18:56:18.930 回答