无法在 Angular 5 npm 包中传递@Input变量(使用 ng-packagr 创建)



我使用 ng-packagr 从 Angular 5 项目创建了 npm 包,现在我正在尝试在新项目中安装该包。我将包包含在新项目的 NgModule 中并像这样使用它:

<created-package 
[input1]="'value1'"
[input2]="'value2'"  
>
</created-package>

此组件呈现,html和包含的css显示,但@Input字段(input1和input2(是未定义的。

这是我的组件.ts的示例:

import {Component, ElementRef, Input, OnInit} from '@angular/core';
@Component({
selector: 'created-package',
templateUrl: './created-package.component.html'
})
export class CreatedPackage implements OnInit {
@Input() value1: any;
@Input() value2: any;

constructor(private router: Router) {
}
ngOnInit() {
console.log(this.value1, this.value2);
}
}

它控制台。日志未定义..

如果有人知道答案,我将非常感谢您的回复!谢谢!

组件中的输入变量应该具有与 html 中传递的名称匹配的名称,或者您可以将别名传递给@Input((。

任一更改:

<created-package 
[value1]="'value1'"
[value2]="'value2'"  
>
</created-package>

或:

@Input('input1') value1: any;
@Input('input2') value2: any;

最新更新