angular - NGXS State 共享子节点
问题描述
我有一个问题,我有两个门户,两种状态 SMS 和 Email 状态它们都必须使用 CommunicationFilterState 和 CommunicationRecipientsState 以上两个是两个不同的状态,它们作为
@State<SmsSettingsModel>({
name: 'smsSettings',
defaults: {
id: null,
name: null,
type: null,
status: null,
eventId: null,
communicationFilter: {
filters: {},
possibleValues: {},
possibleFields: {
userFields: [],
systemFields: null,
sessionFields: null
}
},
recipients: {
recipientSource: RecipientSource.PROJECT_DATABASE,
uploadedListFile: null,
recipientEmailField: null,
recipientSmsField: null
}
},
children: [CommunicationFilterState, CommunicationRecipientsState]
})
@State<EmailSettingsModel>({
name: 'emailSettings',
defaults: {
id: null,
languages: [],
languageSettingsMap: defaultLanguageMap,
type: null,
emailField: '',
communicationFilter: {
filters: {},
possibleValues: {},
possibleFields: {
userFields: [],
systemFields: null,
sessionFields: null
}
},
recipients: {
recipientSource: RecipientSource.PROJECT_DATABASE,
uploadedListFile: null,
recipientEmailField: 'email',
recipientSmsField: null
}
},
children: [CommunicationFilterState, CommunicationRecipientsState]
})
If the email is initialised and i switch to SMS when it initialises I get the following error :
Error: Child state not found: class CommunicationRecipientsState ......
我真的想知道如何解决这个问题,所以我如何让父状态共享两个孩子而不会崩溃
如果我先启动短信,它会起作用 如果我先启动电子邮件,它会起作用
但是,如果我在 SMS 之后启动电子邮件或在电子邮件之后启动 SMS,它将无法正常工作,因为它似乎已经初始化
解决方案
推荐阅读
- javascript - 更改 iframe url 更改父窗口 url 阻止具有原点的框架
- java - 返回集群环境中的servlet
- c# - 通过 Microsoft Graph 邀请用户的多项选择错误
- typo3 - Typo3/Fluid:使用 uid 和 pid 渲染新闻内容
- angularjs - AngularJS 中的 Ng-Gauge 指令,更改 Ng-Gauge 特定属性的样式
- python - 删除矩阵中的行或列时输出错误
- google-bigquery - 将数据从 Google Storage 加载到 BigQuery 时如何执行 UPSERT?
- python - 验证蛋白质序列
- python-3.x - 使用 `psutils` 有效地检索所有正在运行的进程的统计信息
- django - 创建模型对象时字段值的平均值