Vue观察者和组件

时间:2018-05-04 17:28:15

标签: vue.js

Vue新手在这里 - 我们将Vue一点一点地引入现有的应用程序,因此我对后端有点限制。 Vue模板从Django后端获取一组对象。返回的一些对象是父母,其他对象是父母的子女 - 由parent_id标识。

使用各种组件来快速渲染它们以封装一些功能。

后端的更新结束点配置为获取单个对象并相应地更新数据库,因此观察者必须能够识别哪些对象数组已更新。根据我的理解,这对于Vue / Js中的对象/数组是不可能的,因为除了简单类型之外的其他任何值都不能使用before / after值。

我已经实现的解决方法是克隆计算属性中的对象数组,然后将新数组与计算数组进行比较,以确定哪个对象已被修改,以便将其发送回后端。

这是最佳做法,还是我稍后会对这个决定犯规?

非常感谢你的帮助

1 个答案:

答案 0 :(得分:1)

如果你给数组的对象提供它们自己的组件会更好,所以你有一个vue组件作为对象的prop,然后你在数组上使用v-for来创建一个“对象组件“对于数组中的每个对象。

然后你可以在对象组件中的对象prop上有一个观察者,你就会确切知道哪个对象已经改变并获得更好的控制。