我需要以编程方式在一个@Output()上更改bindingPropertyName。
我使用一个指令在一个聚合物2.0组件中的属性(其中reflectToAttribute设置为true)与我在Angular 5中的应用程序之间进行双向绑定。
代码:
@Directive({
selector: "[bindPolymer]"
})
export class BindPolymerDirective {
@Output("valueChange") change: EventEmitter<any> = new EventEmitter();
@HostListener("value-changed", ["$event.target.value"]) onInputChange(value) {
if (value) {
this.change.emit(value);
}
}
}
<polymer-input [(value)]="user" bindPolymer></polymer-input>
在这种情况下,需要双向绑定的属性是值,因此它就像魅力一样。但在其他情况下,他可能会有所不同。
任何人都可以告诉我如何实现这一目标?或者也许给我另一种解决问题的方法?谢谢
答案 0 :(得分:0)
在Javascript中,对象是引用。
如此简单地做
@Output("valueChange") change: EventEmitter<any> = new EventEmitter();
@Output("valueChangeBis") changeBis = this.change;
应该做的伎俩