【发布时间】:2023-02-14 19:53:53
【问题描述】:
我正在使用角度编写 chrome 扩展(主要用于样式和路由)。我知道如何在内容和后台脚本之间进行通信,但问题是,当我通过 chrome.runtime.onMessage 在组件 X 中设置变量时,angular 不会重新渲染。我尝试使用 ChangeDetectorRef 并手动触发检测更改,但是一旦我使用它(有效),整个应用程序就会出现故障 - 例如,点击 mat-select 不会显示任何内容,除非我还在 mat-select onclick 中添加手动检测变化, mat-option onclick 等。我不想在我认为毫无意义的每一件事上使用 detectchange + 整个“平滑”外观都丢失了 - 比如高亮动画和类似的东西。
我发现 angular 无法检测到在 angular 的控制之外所做的更改,但是是否有针对所有这些的解决方法/修复?
我希望任何组件中的每个变量更改都能自动检测到 chrome.runtime.onMessage 侦听器所做的更改。我尝试使用 ChangeDetectorRef 但它破坏了其他正常行为。
【问题讨论】:
标签: angular google-chrome-extension