我正在尝试将所选项目的列表从一个组件共享到另一个组件。我创建了一个服务来声明列表:
public selectedTasksToUnassign = [];
然后在这个组件中我尝试设置列表值:
组件_1.ts
checkTask(task) {
if (task) {
if (this.selectedTasks.includes(task)) {
this.selectedTasks.splice(this.selectedTasks.indexOf(task), 1);
} else {
this.selectedTasks.push(task);
}
} else {
if (this.selectedTasks.length < this.tasks.length) {
this.selectedTasks = [];
Array.prototype.push.apply(this.selectedTasks, this.tasks);
} else {
this.selectedTasks = [];
}
}
this.tasksToSelect.emit(this.selectedTasks);
this.formService.selectedTasksToUnassign=this.selectedTasks;
console.log("task to unassign from table", this.formService.selectedTasksToUnassign);
}
在这个组件中,我想获取列表: component_2.ts
ngOnInit() {
console.log("test tasks to unassign",this.formService.selectedTasksToUnassign);
}
事实上,我看到每次我检查表中的项目时,liste 都会在component_1.ts中的 console.log 中更新,并且我看到值已添加但在component_2.ts中的 console.log 中,它只显示第一个价值选择!!!