Есть функция в Computed:
SendData() {
let FormData = this.AddProduct
let Inputs = FormData.Inputs.reduce( (acc, cur ) => {
acc[cur.Alias] = cur.Data
return acc
}, {})
let Quill = FormData.Quill.reduce( (acc, cur ) => {
acc[cur.Alias] = cur.Data
return acc
}, {})
let OptionsData = this.Options
let OptionsObjects = OptionsData.reduce( (acc, cur ) => {
acc[cur.AliasSingle] = cur.Data
return acc
}, {})
let Objects = Object.assign(Inputs, Quill)
Objects.Options = OptionsObjects
// Генерируем все возможные вариации продукта
const OptionsKeys = Object.keys(OptionsObjects)
const OptionsValues = Object.values(OptionsObjects)
const OptionsAliasSets = getCartesianProduct(
OptionsValues.map(options => options.map(({ Alias }) => Alias))
);
const OptionsNameSets = getCartesianProduct(
OptionsValues.map(options => options.map(({ Name }) => Name))
);
const VariationsArray = OptionsAliasSets.map(
(set, index) => Object.fromEntries([
['VendorCode', `${Objects.VendorCode}.${set.join('.')}`],
...OptionsKeys.map((name, i) => [name, OptionsNameSets[index][i]]),
])
);
function getCartesianProduct(sets) {
const result = []
function cartesianProduct(sets, index, current) {
if (index === sets.length) {
result.push(current.slice());
return;
}
for (let i = 0; i < sets[index].length; i++) {
current[index] = sets[index][i];
cartesianProduct(sets, index + 1, current);
}
}
cartesianProduct(sets, 0, []);
return result;
}
// Добавляем все вариации продукта в общий объект
Objects.Variations = VariationsArray
return Objects
}
},
Она получает другие данные из хранилища, подтягиваемые другими функциями Computed.
Я пытаюсь передать полученные данные из SendData в компонент через Props, но получаю такую ошибку
Cannot read property 'Inputs' of undefined
В данном фрагменте
let Inputs = FormData.Inputs.reduce( (acc, cur ) => {
acc[cur.Alias] = cur.Data
return acc
}, {})
Какие есть способы решения данной проблемы? И как это можно прокинуть не через Props а допустим выкинуть в Vuex