Я хочу синхронизировать данные внутри двух массивов в моем приложении.Я использую vue.js.
Мой первый массив выглядит так:
var testLayout = [
{"x":0,"y":0,"w":2,"h":2,"i":"0"},
{"x":2,"y":0,"w":2,"h":4,"i":"1"}
];
А второй, содержащий объект item, выглядит так:
var items = [
item {
//other properties
Position = {
x,
y,
Width,
Height,
MinWidth,
MaxWidth,
MinHeight,
MaxHeight
}
},
....
]
Я хочу, чтобы свойства внутри первого массива реагировали на изменения со второго и наоборот.Мне нужно синхронизировать мои данные следующим образом: testLayout[...].myAnonymousObject.x <=> items[...].item.Position.x
Как создать вычисляемые свойства или что-то, что я могу использовать для достижения этой цели? Я не могу изменить структуру этих двух массивов/ объекты, но мне нужно держать их в курсе изменений во всех отношениях.
Я пытался сделать это в своем экземпляре vue:
computed: {
layout: {
get: function () {
let allPositions = [];
for (var item of items) {
allPositions.push(
{
x: item .Position.x,
y: item .Position.y,
h: item .Position.Height,
w: item .Position.Width,
i: item .Id
//do not set here min/maxW and min/maxH
}
);
}
return allPositions;
},
set: function () {
???
}
}
},
Но это не сработает, я не знаю, как на самом деле связать эти свойства вместе.Ты знаешь как это сделать?Я имею право использовать вычисленное свойство, чтобы сделать это?