【发布时间】:2018-09-30 00:52:45
【问题描述】:
todo.component.ts
import { Component, OnInit } from '@angular/core';
import{ TaskService } from './../task.service';
@Component({
selector: 'app-todo',
templateUrl: './todo.component.html',
styleUrls: ['./todo.component.css']
})
export class TodoComponent implements OnInit {
chosenstatus="todo";
todoService:TaskService;
constructor(toDoS:TaskService) {
this.todoService=toDoS;
}
ngOnInit() {
}
}
todo.component.html
<app-task [sts]="chosenstatus"></app-task>
task.component.ts
import { Component, OnInit, Input } from '@angular/core';
import { TaskService } from './../task.service';
@Component({
selector: 'app-task',
templateUrl: './task.component.html',
styleUrls: ['./task.component.css']
})
export class TaskComponent implements OnInit {
@Input() sts;
todoService;
constructor(toDoS:TaskService) { console.log(this.sts) /*here it shows undefined*/
this.todoService=toDoS.getTasklist(this.sts);
}
ngOnInit() {
}
}
task.service.ts
export class TaskService {
tasklist= [{taskname:"sample task",taskdetail:"This is a test task",status:"todo"}];
filteredtask;
constructor() { }
getTasklist(chosenstatus){
return this.tasklist.filter((e)=>{
console.log('ngf'+chosenstatus); /*here it shows undefined*/
if(e.status==chosenstatus){
return e;
}
});
}
addTask(name,task){
this.tasklist.push({taskname:name,taskdetail:task,status:'todo'});
}
}
我通过 Input 属性将变量 (chosenstatus) 从 todo 组件传递到任务组件,但它没有被发送。它显示未定义。请说出我做错了什么。
【问题讨论】:
-
你能创建一个 plunker 或 stackblitz 来显示错误
标签: angular input components