使用Angular(4.x)我使用ReactiveForms并且我在FormControl("input")上订阅了valueChanges,如下所示:
export class App {
version:string;
formControl = new FormControl('default', []);
form = this.fb.group({
input: this.formControl,
input2: ('',[])
});
constructor(private fb: FormBuilder) {
this.version = `Angular v${VERSION.full}`
}
ngOnInit() {
this.formControl.valueChanges.subscribe(value => doSomething(value));
}
Run Code Online (Sandbox Code Playgroud)
所以现在我可以对FormControl的值进行更改,但我当然从某处开始填写表单的值,所以我习惯form.patchValue(data)这样做.
由于这不是用户更改,我不想对它做出反应,因此添加标志emitEvent: false,如:this.form.patchValue(data, {emitEvent: false}).
哪个按预期工作.
现在我有一些逻辑,当表单加载时,我将整个表单设置为禁用this.form.disable({ emitEvent: false }),并在完成加载后将整个表单设置为再次启用:this.form.disable({ emitEvent: false })
但我也有逻辑,根据不同的标志将FormControl设置为启用/禁用: this.formControl.enable( {emitEvent: false});
我现在看到的问题是,当Form改变状态时,它会触发FormControl.valueChanges,即使我提供了emitEvent: false标志.
这是预期的行为还是错误?我预计在提供旗帜时根本不会触发任何事件?
我已经做了一个可以在这里测试的插件:https://plnkr.co/edit/RgyDItYtEfzlLVB6P5f3?p = preview
我正在使用TinyMCE(http://tinymce.moxiecode.com/index.php)作为在Java平台上运行的webproject的编辑器(Tomcat,Spring)在TinyMCE的网页上有一个文件管理器: http:// tinymce.moxiecode.com/plugins_filemanager.php
但正如该页面所述: "MCFileManager是一个在线文件管理实用程序,可用作PHP和.NET"
所以似乎没有Java支持.
有没有人知道TinyMCE的另一个文件管理器可以使用Java还是有另一个(简单)解决方案?