У меня в компоненте из стора берется объект с глубокой вложенностью. Делаю глубокую копию, меняю через v-model данные в копии через инпут. Передаю копию обратно в стор после сохранения. Проблема в том, что из за того что копия объекта также передается по ссылке, при последующем изменении значения инпута, объект в сторе меняется реактивно. Приходиться делать перед сохранением 2 копию, чтобы ссылки отличались. Как можно решить?
Vue.set() ?
Вторую копию а как еще ? Кроме копий, средств передать по значению нет
может есть какой костыль там или еще что нибудь? у меня 3 таких компонента, 6 раз копировать придется
пусть компонент на входе и на выходе и копирует, инкапсуляция в действии каждый из трех
Сейчас так и работает, печаль
В java это куда более серьезная боль )))
либо делать 2 копии, либо отказаться от v-model и байндить отдельно value и отдельно коммитить изменения, можно написать небольшой хелпер, который будет собирать правильный формат объекта для коммита по нужному ключу (ключам) правда если вложенность большая, то это будет некрасиво в любом случае, лучше подумать над упрощением структуры
тож думаю в какой нибудь метод вынести типо фабричного
JSON.parse(JSON.stringify(obj))- создается новая копия объекта с вложенными объектами
Обсуждают сегодня