Angular 角度自定义模型[(…)]
我已经创建了一个自定义组件,并希望为其创建一个自定义[ngModel]。假设我有一个组件:Angular 角度自定义模型[(…)],angular,Angular,我已经创建了一个自定义组件,并希望为其创建一个自定义[ngModel]。假设我有一个组件: <input [(ngModel)]="var1"> // (first input) <my-custom-input [injectedNgModel]="var1"><my-custom-input> 在我的记忆中,我有这样一句话: @Input() injectedNgModel: any; ... <input [(ngModel)]="injecte
<input [(ngModel)]="var1"> // (first input)
<my-custom-input [injectedNgModel]="var1"><my-custom-input>
在我的记忆中,我有这样一句话:
@Input() injectedNgModel: any;
...
<input [(ngModel)]="injectedNgModel"> // (second input)
然后,当您在第一个输入中输入文本时,它将更新第二个输入。但是,当您在第二个输入中输入文本时,它不会更改第一个输入var1
如何使@Input将数据发送回其父级
我不想要@Output,因为组件太忙了:
我希望得到类似于[injectedNgModel]=x的东西,但我无法让它像这样工作
单词Change为您创造了双向数据绑定,这意味着您有[ngModel]和ngModelChange事件要绑定为[ngModel]香蕉式语法
因此,在您的情况下,您需要将injectedNgModel作为@Input,将injectedNgModelChange作为@Output事件发射器
试试这样的
modelValue: string;
@Output()
injectedNgModelChange: EventEmitter<any> = new EventEmitter<any>();
@Input()
get injectedNgModel(): string {
return this.modelValue;
}
set injectedNgModel(val: string) {
this.modelValue= val;
this.injectedNgModelChange.emit(this.modelValue);
}
这将创建与输入变量injectedNgModel的双向数据绑定,您将获得父组件和子组件上的更新值
你可以访问它——这就是“改变”这个词的魔力所在
在子组件中,您可以像这样读取get和set属性
希望这对你有帮助-快乐编码:嗨,弗雷迪,我会帮助你的…./。。。。。。。。。。。。。。。