2

我的用例完全不同。当我剥离所有其他因素时,它归结为这一点。

假设我有以下输入元素

<input type="text" [customDirective] [(ngModel)]="myValue" >

其工作customDirective是查看用户输入的值并根据输入动态更改其值。

如何为此实现双向绑定。

我玩过 ControlValueAccessor、DefaultValueAccessor。但是无论我做什么,我都无法实现双向绑定。我一次达到的最大值是模型更新时的视图更新,而不是相反。但是该代码在某个地方丢失了。

这是香草plunker 链接。

PS:我已经提到了以下内容。但是它们都无助于实现与指令的双向绑定

http://blog.thoughtram.io/angular/2016/07/27/custom-form-controls-in-angular-2.html

angular2 wysiwyg tinymce 实现和 2-way-binding

提前致谢

4

1 回答 1

1

终于想出了如何做到这一点。

模型到 UI 的更改可以使用ControlValueAcessor

模型的 UI 可以像下面这样完成

import {Output} from '@angular/core';

使用事件发射器

@Output() ngModelChange = new EventEmitter();

每当数据发生变化时都会发出事件

this.ngModelChange.emit(YOUR_NEW_VALUE);

这是详细的例子

使用 Tinymce 编辑器作为指令

于 2016-11-22T03:57:42.510 回答