Javascript 如何在normalizer中从主实体获取id并将其封装到嵌套实体中
嗨,我有一个问题,规范化我的包装对象 我有一个仪表板和布局对象的数据数组,其中包含响应视图的断点 想要将它们规范化为两个实体,我指的是仪表板和布局Javascript 如何在normalizer中从主实体获取id并将其封装到嵌套实体中,javascript,vuex,normalizr,Javascript,Vuex,Normalizr,嗨,我有一个问题,规范化我的包装对象 我有一个仪表板和布局对象的数据数组,其中包含响应视图的断点 想要将它们规范化为两个实体,我指的是仪表板和布局 { "dashboards":[ { "id":1, "name":"First", "mode":"2", "layouts":{ "lg":[ { "x":0,
{
"dashboards":[
{
"id":1,
"name":"First",
"mode":"2",
"layouts":{
"lg":[
{
"x":0,
"y":0,
"w":2,
"h":2,
"i":"sm1"
},
{
"x":2,
"y":0,
"w":2,
"h":2,
"i":"sm2"
}
],
"md":[
{
"x":2,
"y":0,
"w":2,
"h":2,
"i":"sm2"
}
]
}
}
]
}
我试着那样做。但我无法从仪表板上获取钥匙并将其放入布局,因为这是一对一的关系
const layouts = new schema.Entity('layouts');
const mode = new schema.Entity('modes');
const dashboards = new schema.Entity('dashboards', {
layouts: layouts,
mode: mode
});
const dashboardListSchema = new schema.Array(dashboards);
const normalizedData = normalize(response, dashboardListSchema);
目前我的输出类似于dat:
仪表盘:{“1”:{“id”:1,“name”:“Głwny”,“mode”:“2”}
布局:{“未定义”:{“lg”:[{“x”:0,y:0,w:2,h:2,i:“sm1”},{“x”:2,y:0,w:2,h:2,h:2,i:“sm2”}],“md:[{“x”:2,y:0,w:2,h:2,i:“sm2”}
我想要仪表板的id,而不是未定义的id。有人能帮我吗?这是我的解决方案:)
将您的解决方案作为答案发布并接受,不要将已解决的问题放入问题中。好的,已经完成:)
const layouts = new schema.Entity('layouts', {}, {
idAttribute: (value, parent) => parent.id
});