【发布时间】:2018-02-24 06:08:54
【问题描述】:
在 ngOnInit 生命周期挂钩期间进行服务调用后,我试图更新组件的视图。我订阅了 service 方法,然后在订阅方法中,遍历响应以创建一个 ToDo 对象,然后我将它推送到列表中。但是,在执行此操作后,todoList 似乎永远不会更新。有什么想法吗?
这是组件的打字稿代码:
export class CanvasComponent implements OnInit{
todo: ToDo;
todoList: ToDo[] = [];
tasks: Task[];
errorMessage: string;
constructor(public taskService: TaskService) {
}
ngOnInit(){
// this.todo = new ToDo(0, 'placeholder', false, 'Please Implement custom components!');
// this.newTodo = new ToDo(0, 'placeZholder', false, 'Please Implement custom components!');
this.taskService.GetAll()
.subscribe(response => {
this.todoList = response;
)
}
..我的组件视图使用此块打印信息:
<div class="row">
<div *ngFor="let todo of todoList">
{{todo.title}}
{{todo.description}}
</div>
</div>
【问题讨论】:
-
听起来像
taskService.GetAll()调用了一些非 Angular 代码。您能否将此代码也添加到您的问题中?另见stackoverflow.com/questions/36919399/…。在您的情况下,zone.run()可能是一个好主意,但最好在尽可能靠近退出 Angulars 区域的代码处使用它,而不是在会破坏您的应用程序的随机位置使用。
标签: angular user-interface typescript