我有一个表格创建动态表单跟在cookbook之后的教程现在我想捕捉一些输入变化时如何添加(change)
事件,发送函数作为参数调用;像在输入角度2动态表格上添加事件
new TextboxQuestion({
key: 'test',
label: 'Test ',
type: 'text',
onChange: 'test()',
order: 0
})
感谢
我有一个表格创建动态表单跟在cookbook之后的教程现在我想捕捉一些输入变化时如何添加(change)
事件,发送函数作为参数调用;像在输入角度2动态表格上添加事件
new TextboxQuestion({
key: 'test',
label: 'Test ',
type: 'text',
onChange: 'test()',
order: 0
})
感谢
既然你动态地创建这种形式,因此,应该有机会获得它在你的控制器。 Angular 2使用了概念FormControl这是一个非常强大的工具,用于与窗体控件进行交互。我将跳过了很多的细节,但我会指出几件事情:
你就可以访问FormControl.valueChanges,这可能不是从DOC是显而易见的,因为从FormControl AbstractControl继承,提供了大量有用的功能的超类,其中很大一部分与Angular 1表单功能非常相似。
本质上,你要做的是利用观测值。如果你不熟悉它们,你应该阅读它们。 Christoph Burgdorf has a great article on them实际上,对你来说很方便,使用FormControl.valueChanges作为他如何使用它们的示例的一部分。哦,真是美好的一天!
但基本上,概括地说,你打算沿着这些路线做一些事情:
this.textboxControl.valueChanges.subscribe(value => {
//... do your stuff here with 'value'
});
显然,这假设你已经得到了你想要的反应形式控制的实例至。
它是非常重要的是,在你的控制器ngOnDestroy方法使用观测您当退订;否则订阅将在您完成后停留,并且您有内存泄漏。