0

我编写了一个简单的 Angular 应用程序来学习 @input 在组件之间进行通信,但该值没有被传递。我还阅读了一些遇到类似问题的论坛,但没有一个规定的解决方案对我有用。请指导。

app.component.html

<app-task [prioirty]="'p1'"></app-task>

任务组件.ts

import { Component, OnInit, Input } from '@angular/core';
import { Task } from 'src/app/task/task';
import { TaskService } from 'src/app/task/services/task.service';
import {AppComponent} from 'src/app/app.component'

@Component({
  selector: 'app-task',
  templateUrl: './task.component.html',
  styleUrls: ['./task.component.css'],
})
export class TaskComponent implements OnInit {     
  constructor(private taskService: TaskService) {        
  }      
  task: Task = new Task();
  @Input() priortiy: string; 
  ngOnInit() {
  }
  addTask(){
    alert(this.priortiy);
    this.taskService.addTask(this.task).subscribe((data : Task) => {}, error => console.error(error),() => console.log("Job Added successfully"));    
  }    
}

当我试图在警报框中显示优先级的值时,我得到的值是未定义的。

让我知道是否有人希望我放置完整的代码。

4

1 回答 1

3

你有错别字

从改变

 @Input() priortiy: string; 

 @Input() prioirty: string; 

也很警觉,

alert(this.prioirty);
于 2018-07-15T07:19:20.373 回答