angular - 从另一个组件绑定和编辑对象
问题描述
我创建了一个查看器组件来显示歌曲表。我想让用户编辑字体设置(和其他显示设置)。为此,我创建了视图自定义组件,它本身使用字体自定义组件。它看起来像这样:
我需要找到一种方法将这些设置传输到将添加所需类的查看器。我已经使用了@Input() 和@Output() 但是在这里我有很多信息要传输,我不想为LyricsBold、LyricsItalic、LyricsColor、ChordsBold、ChordsItalic 创建一个输入...我创建了一个对象ViewSettings 包含所有设置,但我不知道如何将其传输到查看器以及在更新此对象的属性之一时如何更新查看器。
这样做的最佳(正确)方法是什么?
解决方案
您可以创建一个包含所有参数的模型并将其导出为 GlobalModel
export class StyleModel{
public LyricsBold: number
public LyricsItalic: string
public LyricsColor: string
}
export const GlobalStyleModel = new StyleModel()
然后你可以通过导入模型
import { GlobalStyleModel } from 'src/models/style.model'
您也可以添加自己的类型,这样您可以获得更详细的信息而无需翻译。
在您设置样式的现有组件中,您可以调用全局模型并添加值。
GlobalStyleModel.LyricsBold = 700
我能想到的另一个尝试是接收数据的服务,您可以订阅它。但我认为这不切实际。如果您想制作用户友好的应用程序,cookie 是确保数据在重新加载时不会丢失的最佳方式。
推荐阅读
- postgresql - 检查值是否不等于选择查询时触发函数总是引发异常
- javascript - 语法错误:JSON.parse 中位置 0 的 JSON 中的意外标记 <
- haskell - 有效地替换二进制对象的一部分
- python - Python - 重命名元组列标题
- jquery - 搜索在 JQuery 自动完成下拉菜单中不起作用
- orm - 如何在不重新安装插件的情况下将表添加到商店软件数据库?
- windows-10 - Citrix Receiver 4.11 Windows 10 64位重复下载提示
- android - 将图像压缩到指定大小的最快方法是什么?
- .net-core - 如何使用 .net Core 构建任务构建预发布包
- react-native - 在 react-native 中从另一个减速器更新减速器