быть с массивами? Делать проверку типа? То есть, если массив, то [...array, property]?
для массивов есть splice
Согласен. Но мой вопрос немного про другое — про функцию вложенной реактивности для всех типов данных. Представьте, что есть объект А, в котором массив из, например, объектов. Как мне сделать объект А полностью и глубоко реактивным?
Они по умолчанию реактивны глубоко
Да, но я про новый объект А, которого ещё нет в стейте.
this.$set(this, 'fieldName', 'value') Ну а в стейте там иначе немного, но суть та же
Всё, что реактивно присваивается или добавляется в свойства реактивных объектов, также становится глубоко реактивным. Там просто в сеттере значение прогоняется также через observe для реактивности.
Ага. То есть, достаточно написать state.someState = Object.assign( {}, state.someState, objectA)?
В state нельзя присвоить новое значение
Безусловно, добавил ключ someState
А если Vue.set(state, 'field', 'value')? В теории должно сработать, или там защита от такого?
Спасибо!
Обсуждают сегодня