Ionic 3 和 Angular 2 中的多个 @Input

Posted

技术标签:

【中文标题】Ionic 3 和 Angular 2 中的多个 @Input【英文标题】:Multiple @Input in Ionic 3 and Angular 2 【发布时间】:2018-04-12 03:59:46 【问题描述】:

在我的 Ionic 3 项目中,我创建了自定义组件 my-component。 现在我们知道使用 angular @Input 我们可以将数据传递给这个组件。 我有 2 个输入作为

  @Input('finder') myFinder: Finder; //Finder is an Interface
  @Input('list') myList: Array<any>; 

我将这个组件用作

<my-component [finder]="dataFinder" [list]="aList"></my-component>

dataFinderaList 都有值,但 myFinder 值始终为 undefined,其中 myList 已正确填充。

这是使用多个输入的任何限制吗?

【问题讨论】:

不,没有限制,请在 plunker/stackblitz 中重现此问题 :) 对不起,伙计们。这是我的失误。我正在阅读构造函数中的输入参数。应该在 ngAfterViewInit() 之后完成。 嗯,你也可以在 OnInit 中做,那里的输入也是可用的。 【参考方案1】:

实际上,您根本不需要维护 2 个数据绑定属性。您可以更优雅地执行此操作,如下所示。希望代码是不言自明的。

my-class.ts

export class MyClass
   finder:Finder;
   myList:Array<any>;   

.ts

@Input('data') data: MyClass;

.html

<my-component [data]="data"></my-component>

【讨论】:

以上是关于Ionic 3 和 Angular 2 中的多个 @Input的主要内容,如果未能解决你的问题,请参考以下文章

将 gregorian 日期转换为 angular 2 和 Ionic 2 中的波斯(jalali)日期

Angular 2 中的依赖注入在使用内联注入器和构造器注入时创建多个实例

带有 Ionic 2 Angular 2 和 TypeScript 的 OpenPGP

Ionic 2 / Angular 2 中的全局函数

表单验证不适用于 Ionic 2 中的 Angular 2 FormBuilder

Angular 2/Ionic 2 应用程序中的手写/绘图?