Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在normalizer中从主实体获取id并将其封装到嵌套实体中_Javascript_Vuex_Normalizr - Fatal编程技术网

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
});