Mat-checkbox 已选中但不更改复选框状态

2023-12-30

我正在实现一个语言切换组件,它显示复选框,一个用于应用程序的每种语言(翻译为@ngx-translate).

单击其中一个复选框时,应用程序语言已正确切换,但单击的 mat-checkbox 仍未选中。

模板 :

<mat-checkbox [checked]="selectedLanguage == 'en'" (click)="switchLanguage('en')">English</mat-checkbox>
<mat-checkbox [checked]="selectedLanguage == 'fr'" (click)="switchLanguage('fr')">French</mat-checkbox>
<mat-checkbox [checked]="selectedLanguage == 'de'" (click)="switchLanguage('de')">German</mat-checkbox>

成分 :

export class CheckboxOverviewExample {
  public selectedLanguage: string;

  constructor(){
    this.selectedLanguage = 'fr';
  }

  public switchLanguage(lang: string) {
    this.selectedLanguage = lang;
    // this.translateService.use(lang); // changing ngx-translate language
    console.log('Switched to ' + lang);
  }
}

The [checked]当您路由到组件时,绑定正在工作。这mat-checkbox登陆组件时确实会检查法语(默认值)。现在,当我单击德语或英语时,语言会切换,法语复选框会正确取消选中,但是单击的复选框不会选中。

我遗漏了一些东西,可能是一个小细节,但我不明白为什么德语/英语不检查,而法语则正确取消检查。

看一下这个简单的 stackblitz 代码 https://angular-hjeezr-wcxytp.stackblitz.io重现我的案例。


所以我有一个答案给你。不需要使用单选按钮,因为您的设计师讨厌它,只需使用

<mat-checkbox [checked]="selectedLanguage === 'en'" (change)="switchLanguage('en')">English</mat-checkbox>
<mat-checkbox [checked]="selectedLanguage === 'fr'" (change)="switchLanguage('fr')">French</mat-checkbox>
<mat-checkbox [checked]="selectedLanguage ==='de'" (change)="switchLanguage('de')">German</mat-checkbox>

也使用检查类型和值selectedLanguage === 'en'

另外,使用(change)="switchLanguage('de')而不是点击

working here https://stackblitz.com/edit/angular-ajo6cr-ocwm8k?file=app/radio-overview-example.html或检查this https://angular-ajo6cr-ocwm8k.stackblitz.io

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mat-checkbox 已选中但不更改复选框状态 的相关文章

  • Angular 5 - 使用对象进行表单控制

    我目前正在开发一个由 Django 支持的 Angular 应用程序 该应用程序的一部分是它需要显示成员列表 成员数组看起来有点像这样 name John Smith id 3 score set name Jane Doe id 7 sc
  • 查询参数更改时,路线不会更新

    在我的应用程序中 有多个链接 其中我有一些links与相同的route但与不同的query parameters 比如说 我有这样的链接 deposits withdrawals deposits withdrawals id 1 depo
  • 如何使 Angular2 Service 单例?

    我正在尝试在我的应用程序中实现身份验证防护 IE 只有经过身份验证的用户才能访问我的应用程序的某些路由 我正在遵循给出的意见here https angular io docs ts latest guide router html 用户登
  • 类型“typeof Control”上不存在属性“Draw”

    我正在尝试使用传单和其他传单插件实现地图组件 问题是其他插件由于某种原因无法在 TypeScript 上运行 例如 我无法使用 leaflet draw 插件编译代码并收到错误 类型 typeof Control 上不存在属性 Draw 地
  • Angular 6 StaticInjectorError(平台:核心)没有提供者

    我有一个角度版本为 4 的项目 我尝试将项目更新为 6 个角度版本 我修复了编译器在构建产品时告诉我的所有错误 他们有很多 现在项目编译没有错误 但在浏览器中无法运行 现在我被困住了 有人可以帮我解决这个问题吗 我认为这在某种程度上与延迟加
  • 浏览器中缺少 Angular 12 源地图

    我们已经升级到角12最近遇到一个问题 即浏览器源映射丢失 因此我们无法调试我们的组件文件 因为没有任何组件文件 谁能建议我缺少什么 Angular 12 更改了默认的 ng build 以使用 生产 配置 你想要 sourceMap 所以尝
  • 角度 - 传递管道作为变量

    如何存储和使用变量中的管道信息 我已经搜索了很多 但找不到解决方案 我想要实现的是将任何有效的管道信息作为变量 小数 百分比 日期 自定义等 传递 下面是一个简单的例子 父组件 ts columnsDef value 0 35 pipeIn
  • 如何更改订阅值?使用 rxJS

    我正在创建一个计时器 需要你的帮助 我刚刚学习 Angular 和 rxJS 对此我有一些疑问 我正在创建一个具有启动 停止 暂停 重置功能的计时器 并且 btn Reset 必须将我的计时器 暂停 到 300 毫秒 怎么做 D 我的启动定
  • Angular核心模块的作用是什么?

    我读了一篇article https medium com michelestieven organizing angular applications f0510761d65a关于在 Angular 中组织文件夹 作者使用了一个名为cor
  • 角度+ firebase auth +材料=路由器崩溃

    Firebase 身份验证后路由器无法正常工作 问题来自 angular animations 导入 NoopAnimationsModule 或 BrowserAnimationsModule 路由器无法正常工作 包 json depen
  • Angular - Angular Material 2 步进器控件

    我使用 Angular Material 2 步进器设置了一个线性步进器 我有不同组件 组件a 组件b 组件c 中的表单 在我的主容器组件 容器组件 中 我希望有一个线性步进器 当它们的形式有效时 它可以 步进 通过每个组件 是否有某种功能
  • 如何从 Angular ActivatedRoute 获取参数

    我正在尝试使用 observables 从我激活的路线中获取 prameter id 当我在控制台上打印参数时 我得到了正确的 id 值 但 this id 的情况并非如此 我得到了 NaN 值 你能告诉我有什么问题吗 export cla
  • 如何从 Angular 5 中的 URL 中删除哈希值?

    Angular 路由 在我的 app routing module ts 中 NgModule exports RouterModule imports RouterModule forRoot routes declarations 在i
  • 我如何使用 ngRedux 测试服务

    我如何用 karma jasmine 模拟 ngRedux 的 getState 例如 我的服务通过 ngRedux 从商店获取价值 this ngRedux getState 我通过监视 getState 方法解决了这个问题 spyOn
  • 使用 ngx-translate 时更改 URL

    当有人使用 ngx translate 单击所选语言时 我尝试更改 URL 我想我应该通过订阅语言更改事件然后修改当前的 url 以反映所选的语言来做到这一点 因为我是新手 所以我不确定是否需要服务来做到这一点 或者可能是另一种解决方法 我
  • 如何捕获 Material Datepicker 月份分页事件?

    我想捕捉来自月份 左 和 右 选择按钮的事件 但我找不到任何有关它的文档 在材质日期选择器中单击 左 和 右 月份选择框时会触发什么事件 好吧 我的另一个回答是错误的 让我们采取另一种方法 假设我们有一个 CustomTemplate 标头
  • Angular 4:类型“AbstractControl”上不存在属性“push”和“controls”

    我从这个链接实现了代码http plnkr co edit yV94ZjypwBgHAlb0RLK2 p preview http plnkr co edit yV94ZjypwBgHAlb0RLK2 p preview但获取推送和控制错误
  • Jasmine 测试中的模板解析错误,但实际应用程序中没有错误

    我开发了 Jasmine 规范来测试 Angular 2 组件MiddleRowComponent 当我运行 jasmine 测试时 出现以下错误 zone js 388 Unhandled Promise rejection Templa
  • Ionic 2 RC0 和 Angular 2 最新的 Android 构建错误(ngc:错误:静态解析符号值时遇到错误)

    当我使用构建android时出现错误ionic build android命令 ngc 错误 静态解析符号值时遇到错误 引用本地 非导出 符号 字典 考虑导出符号 原始 ts文件中的位置14 8 解析符号TRANSLATION PROVID
  • Primeng DataTable Dropdown 不适用于通过列的选项

    我正在基于 PrimeNG 的 DataTable 为我的应用程序制作一个可重用的表组件 我的组件有以下 html 代码

随机推荐

  • java中如何从另一个正在运行的线程访问方法

    我是 Java 线程的新手 我想做的是从 ThreadB 对象获取当前正在运行的线程 ThreadA 的实例的访问权限 并调用其名为 setSomething 的方法 1 我认为我比实际情况更加努力 2 我有一个空指针异常 所以我在访问该方
  • 在 C# 循环中使用 ThreadPool

    我对线程不太了解 但以下代码是否可以接受 我更担心在循环中使用线程池 string filePaths GetFilePaths foreach string filePath in filePaths ThreadPool QueueUs
  • 如何在codeigniter活动记录中使用select插入记录

    我想使用 CodeIgniter Active Record 类实现 sql 查询 查询看起来像这样 INSERT california authors au id au lname au fname SELECT au id au lna
  • 如何将 HTML5 拖放与 KnockoutJS 结合使用?

    我似乎无法绑定到 html5 拖放事件 以下是来自模板的示例
  • 根据公共后缀列表从 URL 中提取注册域

    给定一个 URL 如何使用以下命令提取注册域公共后缀列表 http publicsuffix org list 有效 TLD 列表 例如这个清单 http mxr mozilla org mozilla central source net
  • 如何将 PHP DateTime 对象转换为 ISO 字符串?

    我收到了一个 MS 格式的 JSON 日期日期 它看起来像这样 Date 1365004652303 我可以通过执行以下操作将其转换为 PHP DateTime 对象 timestamp round int originalMSdate 1
  • SQL 子查询返回超过 1 个值

    我的查询导致以下错误 消息 512 级别 16 状态 1 过程 Item insupd 第 17 行子查询返回超过 1 个值 当子查询跟在 gt 后面或子查询用作表达式时 这是不允许的 Query INSERT INTO Total Dat
  • 将数据附加到已存在的 AudioBuffer 对象

    我正在寻找将数据附加到already现存的音频缓冲区 https developer mozilla org en US docs Web API AudioContext createBuffer正在使用网络音频播放 收到要播放的音频数据
  • 在 gdb-multiarch 中指定架构

    如果我使用任何arm编译器编译C程序 例如arm none eabi gcc 然后调用gdb multiarch使用二进制文件作为第二个参数 它将正确确定机器类型 并且我可以调试我的远程应用程序 然而如果我打电话gdb multiarch就
  • Linux 中以百分比形式准确计算 CPU 使用率?

    这是一个已经被问过很多次的问题 但是我找不到得到充分支持的答案 许多人建议使用 top 命令 但如果您运行 top 一次 因为您有一个脚本 例如每 1 秒收集一次 Cpu 使用情况 它将始终给出相同的 Cpu 使用结果 示例1 https
  • “COM”、“USB”、“串口”有什么区别? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我对这3个概念很困惑 我的理解是 Serial Port通常表示 RS 232 兼容端口 RS 推荐标准 USB代表Universal S
  • 如何使用 $.getJSON 从博主提要获取数据

    我想从博主提要中获取数据使用 getJSON 函数 我使用此代码来获取版本 但它不起作用
  • 从 Spark 保存分区 parquet HIVE 表时出现问题

    火花1 6 0 蜂巢1 1 0 cdh5 8 0 我在将数据帧从 Spark 保存到镶木地板支持的分区 Hive 表中时遇到一些问题 这是我的代码 val df sqlContext createDataFrame rowRDD schem
  • mysql/sqlserver 中截断与删除的比较[重复]

    这个问题在这里已经有答案了 关于 mysql sql 服务器的一件事一直困扰着我 即删除 截断 哪一个更好更快 在哪里使用删除 在哪里使用截断 DELETE DELETE 是一个 DML 命令 DELETE 语句使用行锁执行 表中的每一行都
  • Hive:如何显示表的所有分区?

    我有一个包含 1000 多个分区的表 Show partitions 命令仅列出少量分区 如何显示所有分区 Update 我发现 show partitions 命令仅列出 500 个分区 select where 仅处理 500 个分区
  • Numpy: arr[...,0,:] 有效。但是如何存储切片命令 (..., 0, :) 中包含的数据呢?

    在 Numpy 我想通常是 Python 中 如何存储切片索引 例如 0 以便传递它并将其应用于各种数组 比如说 如果能够在函数之间传递切片索引 那就太好了 Python 根据切片语法创建特殊对象 但仅在方括号内用于索引 您可以手动创建这些
  • 生成随机字符串

    好吧 我知道有很多这样的线程 但我对 vb net 很陌生 但我无法编辑给出的源代码来制作我真正想要的内容 所以我想要一个函数 它将生成随机字符串 每个字符串包含 15 32 个字符 每个字符串将具有以下字符 并非全部在同一字符串 但其中一
  • 如何使用clients2.google.com 下载CRX?

    上周我遇到了一些困难 我已经能够使用以下链接格式使用 Chrome 商店中列出的扩展名的 ID 下载 crx 文件 现在 最近几周发布到 chrome 商店的任何新 chrome 扩展程序都将无法使用 它不会下载任何东西 使用fiddler
  • 确保用户发布的博客评论安全

    我正在我的网站上创建博客引擎 没有什么花哨 用户将注册一些基本信息 包括评论本身 即该问题的问题 在评论字段中 用户可以编写一些文本 但目前没有什么可以阻止他在那里编写任何有害的内容 这会在使用评论渲染页面时弄乱页面 所以我想知道完成这三个
  • Mat-checkbox 已选中但不更改复选框状态

    我正在实现一个语言切换组件 它显示复选框 一个用于应用程序的每种语言 翻译为 ngx translate 单击其中一个复选框时 应用程序语言已正确切换 但单击的 mat checkbox 仍未选中 模板