В Vue. js есть методы; Vue .set для добавления и Vue .delete для удаления, но для 'update' нет методов Vue, вместо этого вы используете Object.assign. На самом деле это работает нормально, если во вложенных объектах нет изменений. Есть ли в Vue какая-либо функция, например, update или refre sh, потому что я вижу состояние, измененное на вкладке Chrome Vue Extension, но не вижу изменения на веб-странице.
Vue view не запускается для обновлений.
Пример: когда я добавил элемент в «дома», я не вижу новый дом на странице, даже я вижу новый элемент поверх проверки Vue, состояние , Я могу увидеть новый элемент при перезагрузке страницы.
"clients": {
"oES4H0IMsYaCvGkSDKLmXkOkgXR2": {
"CL_937fef22-cee7-4b14-9e4d-4e6751c82dab": {
"name": "Adina Dowless",
"email": "adinadowless@test.com",
"phone": "(547) 515 53 91",
"houses": {
"0": {
"name": "sugarless",
"uavt": "832677187473",
"housePolicyId": "PO_7f12d27f-245b-41a6-92b4-dacb0256ccac",
"daskPolicyId": "PO_f5fba094-7272-41f8-a406-f9251df5a37f"
},
"1": {
"name": "intersexualism",
"uavt": "931095588844",
"housePolicyId": "PO_2d6b79d2-53a0-42f9-8445-df06c3b3bc5a",
"daskPolicyId": "PO_79f37178-0714-4c19-aa24-204ea3cf30e7"
}
}
},
}
Редактировать: Я использую Quasar Framework, Vuex Library и Firabase Realtime Database.
Итак, этот клиентский объект в хранилище vuex и исходные данные поступают из базы данных Firebase.
При добавлении клиента: Vue.set(state.clients, payload.id, payload.client)
При удалении клиента: Vue.delete(state.clients, id)
При обновлении клиента: Object.assign(state.clients[payload.id], payload.updates)
Эти функции работают правильно при добавлении, удалении или обновлении свойств первого уровня клиентов, таких как имя или по электронной почте,
При добавлении нового дома в дома запускается обратный вызов базы данных firebase databse child_changed для клиентов со всеми обновленными данными, но компонент на веб-странице не обновляется.