作为@Input传递给Child的值的双向绑定

时间:2018-05-12 10:24:43

标签: angular typescript angular5

我有2个组件:ParentChildChildFilter收到@Input类型Parent

Filter看起来像这样:

export class FilterModel {
    name: string;

    constructor(name: string){
        this.name = name;
    }
}

Parent模板中我有这个(filter已在.ts文件中初始化):

<app-child [filter]="filter"></app-child> 

Child

@Input() filter:FilterModel; 

filter的{​​{1}}中ngOnInit的值正常

Child

我执行此操作 ngOnInit() { console.log(this.filter); }

时,我可以在filter模板中看到Child的值

当我这样做时,我可以看到输入中的值:

{‌{filter.name}}

但是当我尝试与<input type="text" [(value)]="filter.name" > 进行双向数据绑定时:   我收到了这个错误: 无法绑定到&#39; ngModel&#39;因为它不是“输入”的已知属性。

导入[(ngModel)]

你知道如何解决这个问题吗?

稍后在FormsModule我订阅过滤值以在值更改时调用函数。

感谢您的帮助,

更新1

Parent
所有/src | | /app | | | | /models (where filter is) | | /pages | | | | | | /Myfolder | | | | | | | | /Child | | | | /Parent | | | | myfolder.module.ts | | | | | /services | | /theme (I bought a theme) | | | | | | /compononents (of the theme | | | | | | | | /applications | | | | /sidebar | | | | /menu | | pages.module.ts | | pages.compononent.ts | app.modules.ts | app.compononent.ts

中都有

import { FormsModule } from '@angular/forms';

更新2

.module.ts

1 个答案:

答案 0 :(得分:0)

FormsModule添加到imports数组中。

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    NgxDatatableModule,
    DirectivesModule,
    RouterModule.forChild(routes)
  ],
 ...
)