我正在为Angular上的一个类编写代码,我不明白为什么从我的组件中提取@Input装饰器会导致整个应用程序无法加载。
import { Component, OnInit, Input } from '@angular/core';
import { Dish } from '../shared/dish';
import { DishService } from '../services/dish.service';
import { Params, ActivatedRoute } from '@angular/router';
import { Location } from '@angular/common';
@Component({
selector: 'app-dishdetail',
templateUrl: './dishdetail.component.html',
styleUrls: ['./dishdetail.component.scss']
})
export class DishdetailComponent implements OnInit {
@Input()
dish: Dish;
constructor(private dishservice: DishService,
private route: ActivatedRoute,
private location: Location) { }
ngOnInit() {
let id = +this.route.snapshot.params['id'];
this.dish = this.dishservice.getDish(id);
}
}
输入组件不会在应用程序的其他地方使用,而且据我所知,它甚至与这个组件都没有很强的相关性,所以有人能解释一下为什么当我删除那个装饰器时,它会破坏我的程序吗?
发布于 2018-06-07 05:52:09
如果您只打开浏览器的控制台,您将看到一个很大的错误消息,如下所示
不能绑定到'dish‘,因为它不是'app-dishdetail’的已知属性
此外,错误消息会准确地告诉您尝试绑定到dish
的位置。
https://stackoverflow.com/questions/50730100
复制相似问题