Должен ли я вернуть массив в модель или вернуть один объект массива и обновить модель Vuejs на JS? - PullRequest
0 голосов
/ 06 августа 2020

Я работаю с древовидным представлением в Vuejs, это древовидное представление включает родителя и потомков. При каждом обновлении я вызываю API для обновления данных в базе данных. Я могу вернуть массив категорий для обновления до категорий модели ИЛИ вернуть категорию объекта и использовать код JS для обновления категорий модели. Какой случай Обновить, потому что у него 4 случая: обновление не меняет родителя, меняет родителя, родителя -> потомки, потомки -> родителя. Таким образом, код JS для обновления модели сложнее, чем таблица возврата:

// Update by return Array Categories
this.categories = response.data
this.active = []
this.editedCateory = null
this.$refs.form.reset()

//Update by use JS when return Object Category
this.updated = response.data
this.editedCateory.name = updated.name
this.editedCateory.url = updated.url
if(this.editedCateory.parent && !updated.parent)
{
    let oldparent = this.categories.filter(v=>v.id == this.editedCateory.parent)
    oldparent[0].children = oldparent[0].children.filter(v=>v.id != updated.id)
    updated = Object.assign({}, updated, {'children':[]})
    this.categories.push(updated)
}
else if(!this.editedCateory.parent && updated.parent)
{
    this.categories = this.categories.filter(v=>v.id != updated.id)
    let newparent = this.categories.filter(v=>v.id == updated.parent)
    newparent[0].children.push(updated)
}
else if(this.editedCateory.parent && updated.parent && (this.editedCateory.parent != updated.parent))
{
    let oldparent = this.categories.filter(v=>v.id == this.editedCateory.parent)
    oldparent[0].children = oldparent[0].children.filter(v=>v.id != updated.id)
    let newparent = this.categories.filter(v=>v.id == updated.parent)
    newparent[0].children.push(updated)
}
this.active = []
this.editedCateory = null
this.$refs.form.reset()

Я кодирую Vuejs, я думаю, мне следует использовать JS модель обновления, но это более сложно.

Эта мысль верна или неверна? Спасибо за просмотр

1 Ответ

0 голосов
/ 06 августа 2020

Может, имеет смысл после обновления просто снова вызвать API с категориями и снова установить Категории? Vue повторно визуализировать компонент, если данные изменились. С VUEX это кажется проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...