目前用 Vue.js 搭建大型网站,卡在 Vuex store 的架构中。
文件夹结构现在看起来像这样
.
├── build
├── src
│ └── components
│ ├── Header.vue
│ └── TimeStamp.vue
│ └── Photo.vue
│ └── pages
│ ├── index.vue
│ └── about.vue (includes Header.vue, Thumbnail.vue)
├── store
│ └── index.js
│ └── modules
│ ├── Header.js
│ └── TimeStamp.js
│ └── Photo.js
基本上我的代码模式是每个组件都有一个相应的模块存储,但似乎所有模块状态都需要作为一个大的 SINGLE 对象导入,这让我现在很困惑,因为这意味着即使在页面中也不需要 TimeStamp 组件, TimeStamp 状态仍然存在于范围内,假设我总共有数百个状态,但我只需要Header.js
存储,所以其他所有状态实际上都没用。
因此,我的问题是:
是否可以为每个页面创建动态状态对象。例如,在 About 页面中,仅导入
Header.js
andPhoto.js
,在 Index 页面中,仅导入Header.js
andTimeStamp.js
,其结构如下所示。
├── store
│ └── pages
│ ├── Index.js
│ └── About.js
│ └── News.js
│
│ └── modules
│ ├── Header.js
│ └── TimeStamp.js
│ └── Photo.js