我一直在使用valueChanges
Angular 2中的被动表单和订阅.我不明白为什么某些形式的订阅似乎不被允许.
this.form.get('name').valueChanges /* <- doesn't work */ .do(changes => { console.log('name has changed:', changes) }); .subscribe(); this.form.get('title').valueChanges.subscribe( /* <- does work */ changes => console.log('title has changed:', changes) );
这个plunker再现了问题(打开DevTools控制台以查看错误):
ZoneAwareError {stack:"错误:未捕获(在承诺中):TypeError:不能se...g.com/zone.js@0.7.5/dist/zone.js:349:25)[]",消息:"未捕获(在promise):TypeError:无法设置prope ... ore.umd.js:8486:93)↵在Array.forEach(native)",originalStack:"错误:未捕获(在承诺中):TypeError:不能se ... ps:// unpkg .com/zone.js @ 0.7.5/dist/zone.js:349:25)",zoneAwareStack:"错误:未捕获(承诺):TypeError:不能se...g.com/zone.js@0.7.5 /dist/zone.js:349:25)[]",名称:"错误"......}
第一种模式(有do
)确实不违法吗?