Решил попробовать новый composition API, есть 2 функции и обе в разных файлах, одна из них для отдельного компонента(функция 1), другая, можно так сказать, глобальная(функция 2). Из компонента в функцию 1 передается строка из инпут:
<input type="text" v-model="text" class="input" id="input-text">
, далее в функции 1 разбивается на массив
export function toCode(){
let text = ref("");
let array = ref([]);
let obj = reactive(scanArrays())
watch(text, () => {
array = text.value.split("");
obj = scanArrays(array, deciphering, cipher)
console.log(obj)//тут выводится все как надо
})
return{
text,
...obj
}
}
и передается в функцию 2:
export function scanArrays(arr, decip, cip){
let err = ref({show:false, element:""});
let result = ref("");
const func = () => {
result.value = "";
err.value.show = false
arr.forEach(el => {
if(!decip.includes(el)){
err.value.show = true
err.value.element = `" ${el} "`;
return
}
let letterInd = decip.indexOf(el);
result.value += cip[letterInd] + " ";
});
}
if(arr) func()
return{
func,
result,
err
}
}
, но в компонент приходит не измененный объект
setup(){
return{
...toCode(),
}
}
, хотя в функции 1 в консоль выводится именно то, чего я жду в результате. Подскажите пожалуйста, что тут не так.