我只是想创建一个类型为 number 的构造函数,但收到错误“此类型不支持作为注入(inject) token ”
我是 Angular 新手。我在这里做错了什么?
import { Component } from '@angular/core'
@Component({
selector : 'app-even',
templateUrl : './even.component.html',
styleUrls : ['./even.component.css']
})
export class EvenComponent
{
num : number;
constructor(num : number){
this.num = num;
}
}
我收到以下错误:
我在AppComponent中使用这个EvenComponent
export class AppComponent implements DoCheck{
evenCounts : EvenComponent[];
}
最佳答案
如果要将数据传递给组件,则需要使用@Input()
。例如:
import { Component, OnInit, Input } from '@angular/core'
@Component({
selector : 'app-even',
templateUrl : './even.component.html',
styleUrls : ['./even.component.css']
})
export class EvenComponent implements OnInit
{
@Input() num : number;
constructor() { }
ngOnInit(): void {
// You can use this value now
console.log(this.num);
}
}
要将值传递到组件中,请将以下内容添加到父 HTML 模板中:
<app-even [num]="3"></app-even>
注意:您不能在构造函数中使用传递到组件中的值,因为该值尚未准备好,并且您将始终得到未定义
。
如果您是 Angular 新手,可能值得阅读 Tour of Heroes教程来学习一些核心知识。
祝你好运!
关于Angular:不支持此类型作为注入(inject) token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67890241/