我最近开始将事物从jQ迁移到更结构化的框架VueJS,我喜欢它!
从概念上讲,Vuex对我来说已经是一个典型的转变,但我相信我现在知道它的全部内容,完全得到它!但是存在一些小的灰色区域,主要是从实施的角度来看.
我觉得这个设计很好,但不知道它是否与单向数据流的Vuex 周期相矛盾.
基本上,从动作中返回一个promise(类似)对象被认为是一种好习惯吗?我将它们视为异步包装器,具有失败状态等,因此似乎非常适合返回一个承诺.相反,mutators只是改变了一些东西,而且是商店/模块中的纯粹结构.
我在 SPA 中使用 Vue 和 Vue Router。在视图组件中,我查询资源库中的资源。如果找不到资源,我想在保留 URL 的同时显示 404 页面。
即,如果我访问,/foo/non-existant-id则应显示 404 页面来代替foo资源的显示页面。
为清楚起见,这是我的路由器地图:
router.map({
'/foo/:id': {name: 'foo-show', component: FooShowPage},
// Utilities
'/': { name: 'home', component: HomePage },
'*': { name: '404', component: NotFoundPage }
})
Run Code Online (Sandbox Code Playgroud)
在我的工作中,FooShowPage我执行以下操作:
ready () {
// fetch the foo from the repo (app.foos)
app.foos.fetchById(this.$route.params.id).then(foo => {
this.foo = foo
}).catch(e => {
// foo is not found show a 404 page
// using this.$route.router.go({name: '404'}) does not …Run Code Online (Sandbox Code Playgroud)