angular - Angular 从代码中删除 @Input 装饰器
问题描述
我正在为 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);
}
}
输入组件在应用程序的其他任何地方都没有使用,据我所知,它甚至与这个组件没有那么密切的关系,所以谁能解释为什么当我删除那个装饰器时,它会破坏我的程序?
解决方案
如果您只是打开浏览器的控制台,您会看到大胖错误消息,例如
无法绑定到“dish”,因为它不是“app-dishdetail”的已知属性
此外,错误消息会告诉您尝试绑定到的确切位置dish
。
推荐阅读
- reactjs - 如何将 react 作为 cdn 导入?
- python - 为什么https中大文件上传太慢?
- spring - ResourceBundleMessageSource:一个值可以引用包中的另一个键吗?
- c# - 尝试根据随机稀有度生成一定数量的物品
- ruby-on-rails - AWS Elasticbeanstalk ruby 平台与乘客 5.x
- express - 使用 swagger-ui-express 设置基本身份验证
- python - 如何在 Python 中的特定位置向 XML 文件添加标签?
- javascript - 使用 Google Apps 脚本在 Chrome 中调试时出现问题
- android - 无法获取 Gradle 包装器属性
- sql - 蜂巢查询中的 STDDEV 函数