angular - 为什么以反应形式订阅不起作用?
问题描述
从是:
this.filterForm = this.fb.group({
classNumber: [null, []],
classSuffix: [null, []],
teacher: [null, []],
subject: [null, []]
});
我尝试为构造函数类中的字段设置值:
this.filterForm.controls["classNumber"].setValue('r', { onlySelf: true });
听众看起来像:
this.filterForm.controls["classNumber"].valueChanges.subscribe(
selectedValue => {
alert(selectedValue);
});
为什么我没有在警报消息中获得选定的值?
解决方案
查看我为您制作的这个 stackblitz:https ://stackblitz.com/edit/angular-e5nq6d
如果您在更改值后设置侦听器,您将不会看到警报消息。这是因为监听器还不存在。
奖金
另请注意,通过使用该选项onlySelf: true
,传递给json
管道的 filterForm.value 不会改变。一开始似乎违反直觉,但将onlySelf
选项设置为 false(或未声明)的值会按预期更新模板表示。
推荐阅读
- iis - 身份服务器 4 Windows 身份验证
- opengl-es - 什么是 OpenGL 和 WebGL2 中的顶点数组?
- c# - 插入电子邮件时出错
我正在尝试将表格插入电子邮件。我在 6 行代码中出现以下错误(以“body”开头,结尾 onavgErrorOutStDev +=“/table”)。错误是:
“赋值的左侧必须是变量、属性或索引器”。
<table>
开始是在创建/发送电子邮件之前执行的方法。如何修复错误?MailMessage
- bash - Makefile:特定于目标的变量总是被解析
- notepad++ - Notepad ++ 删除每 150 个字符后的回车和广告新行
- python - numba 不并行化范围
- vba - “行句柄无效”错误、Excel、VBA、SharePoint 列表自动化
- python - 单元测试:断言异常处理函数调用
- android - 如何将 AnimationDrawable 保存为 GIF?
- facebook - FB Messenger 机器人链接不会将用户重定向到 Messenger