我有以下组件结构:
学校 - > MapBox - > StudentMap
学校 - >学院 - >学生
学校:只是一个包装(主要组件)
研究所:该数据库是该研究所的CRUD,还有学生的孩子
学生:是学生的CRUD
MapBox:创建一个OpenStreetMap
StudentMap:是否使用传单
构造包含信息的图层我从拥有学生的数据库中检索
我知道我应该使用Vuex商店来获得完美而干净的数据份额,但我只有一周的时间来开发项目而且我还没有掌握Vuex。
学生组件负责编辑/删除自己,学院负责创建学生,并编辑/删除自己。学校通过laravel json接收学院,并在装载视图中将其绑定。
无论何时创建/更新/删除学院或学生,我都会添加从子项发送到父项以更新数据的事件(这与Vue允许的相反,但在此用例中我需要让主组件(学校) )是最新的传播到其他分支MapBox - > StudentMap。
我在学生地图中有一个学院/学生的观察者,当我添加新的学院/学生时会触发它。但是当我更新/删除时,什么也没发生。
我当然遵循了良好的做法,以确保Vue可以捕获修改,例如Vue.delete()
和Vue.set()
或arr.splice()
I found thoses informations here
但什么都没发生。我不明白为什么Vue在创建时传播信息。但不是更新/删除。
代码太多了,无法放在这里,但如果描述不够清楚,我创建了a gist with it all。
先谢谢你的帮助