@@ -31,7 +31,7 @@ store.state.a // -> moduleA 的状态
3131store .state .b // -> moduleB 的状态
3232```
3333
34- ### 模块的局部状态
34+ ## 模块的局部状态
3535
3636对于模块内部的 mutation 和 getter,接收的第一个参数是** 模块的局部状态对象** 。
3737
@@ -83,7 +83,7 @@ const moduleA = {
8383}
8484```
8585
86- ### 命名空间
86+ ## 命名空间
8787
8888默认情况下,模块内部的 action 和 mutation 仍然是注册在** 全局命名空间** 的——这样使得多个模块能够对同一个 action 或 mutation 作出响应。Getter 同样也默认注册在全局命名空间,但是目前这并非出于功能上的目的(仅仅是维持现状来避免非兼容性变更)。必须注意,不要在不同的、无命名空间的模块中定义两个相同的 getter 从而导致错误。
8989
@@ -134,7 +134,7 @@ const store = createStore({
134134
135135启用了命名空间的 getter 和 action 会收到局部化的 ` getter ` ,` dispatch ` 和 ` commit ` 。换言之,你在使用模块内容(module assets)时不需要在同一模块内额外添加空间名前缀。更改 ` namespaced ` 属性后不需要修改模块内的代码。
136136
137- #### 在带命名空间的模块内访问全局内容(Global Assets)
137+ ### 在带命名空间的模块内访问全局内容(Global Assets)
138138
139139如果你希望使用全局 state 和 getter,` rootState ` 和 ` rootGetters ` 会作为第三和第四参数传入 getter,也会通过 ` context ` 对象的属性传入 action。
140140
@@ -174,7 +174,7 @@ modules: {
174174}
175175```
176176
177- #### 在带命名空间的模块注册全局 action
177+ ### 在带命名空间的模块注册全局 action
178178
179179若需要在带命名空间的模块注册全局 action,你可添加 ` root: true ` ,并将这个 action 的定义放在函数 ` handler ` 中。例如:
180180
@@ -200,7 +200,7 @@ modules: {
200200}
201201```
202202
203- #### 带命名空间的绑定函数
203+ ### 带命名空间的绑定函数
204204
205205当使用 ` mapState ` 、` mapGetters ` 、` mapActions ` 和 ` mapMutations ` 这些函数来绑定带命名空间的模块时,写起来可能比较繁琐:
206206
@@ -261,7 +261,7 @@ export default {
261261}
262262```
263263
264- #### 给插件开发者的注意事项
264+ ### 给插件开发者的注意事项
265265
266266如果你开发的[ 插件(Plugin)] ( plugins.md ) 提供了模块并允许用户将其添加到 Vuex store,可能需要考虑模块的空间名称问题。对于这种情况,你可以通过插件的参数对象来允许用户指定空间名称:
267267
@@ -277,7 +277,7 @@ export function createPlugin (options = {}) {
277277}
278278```
279279
280- ### 模块动态注册
280+ ## 模块动态注册
281281
282282在 store 创建** 之后** ,你可以使用 ` store.registerModule ` 方法注册模块:
283283
@@ -304,13 +304,13 @@ store.registerModule(['nested', 'myModule'], {
304304
305305注意,你可以通过 ` store.hasModule(moduleName) ` 方法检查该模块是否已经被注册到 store。需要记住的是,嵌套模块应该以数组形式传递给 ` registerModule ` 和 ` hasModule ` ,而不是以路径字符串的形式传递给 module。
306306
307- #### 保留 state
307+ ### 保留 state
308308
309309在注册一个新 module 时,你很有可能想保留过去的 state,例如从一个服务端渲染的应用保留 state。你可以通过 ` preserveState ` 选项将其归档:` store.registerModule('a', module, { preserveState: true }) ` 。
310310
311311当你设置 ` preserveState: true ` 时,该模块会被注册,action、mutation 和 getter 会被添加到 store 中,但是 state 不会。这里假设 store 的 state 已经包含了这个 module 的 state 并且你不希望将其覆写。
312312
313- ### 模块重用
313+ ## 模块重用
314314
315315有时我们可能需要创建一个模块的多个实例,例如:
316316
0 commit comments