我正在页面上实例化多个Vue应用程序:
import Vue from "vue";
import App from "./App.vue";
import useStore from "./store";
const arr = [1, 2];
for (const index of arr) {
const store = useStore();
new Vue({
router,
store,
render: (h) => h(App)
}).$mount(`#app$_{index}`);
}
我的商店文件看起来像这样:
import Vue from "vue";
import Vuex from "vuex";
Vue.use(Vuex);
import address from "./modules/address";
export default function useStore() {
return new Vuex.Store({
modules: { address }
});
}
和地址模块:
const state = {
address: null
};
const getters = {
address(state) {
return state.address;
}
};
const mutations = {
setAddress(state, address) {
state.address = address;
}
};
export default {
namespaced: true,
state,
getters,
mutations
};
但该存储似乎在页面上的所有Vue实例中共享。为什么,当我为每个Vue应用程序创建新实例时?
谢啦
问题不是Vuex存储在多个Vue实例之间共享,而是地址模块的状态在多个Vuex存储之间共享。
Vuex文档解决了这个问题:https://vuex.vuejs.org/guide/modules.html#module-再利用
如果我们使用普通对象来声明模块的状态,那么该状态对象将通过引用共享,并在其突变时导致跨存储/模块状态污染。
只需将地址模块状态声明从普通对象定义更改为函数定义:
const state = () => ({
address: null
});
你可以走了!
我想使用header.php为每个页面添加单独的元标记 添加标题,元描述,元关键字的每一页更好的搜索引擎优化Anlayis。我想通过页面上header.php代码实现这一点。 提前谢谢。
我使用部署在ActiveMQ服务内部的Apache Camel模块。 假设我使用Spring DSL并且在文件(简化版)中有路由定义(实现为): 接下来,我在其他XML文件(简化)中配置了骆驼上下文: 我希望使用IoC术语将来自的共享路由(ID=)声明为每个依赖项的实例,因此来自单个骆驼上下文(ID=、、)的每条路由都应该使用该共享路由的自己的实例(ID=),具有单独的内部状态和bean实例等。
我有几个不同的单词需要使用Javascript替换为不同的单词。我想我可以使用replace函数来实现这一点,但它似乎只在第一次调用时起作用。 然而,由于我需要替换的单词彼此相似,这导致了某种问题,我不知道如何修复它。我还真的需要用Javascript而不是jQuery来做这件事。谢了。 例:
问题内容: 我是GWT的新手,打算使用GWT开发用于用户管理应用程序的UI。我打算使用通过Spring / Hibernate创建的现有模块。我想出了如何将GWT与Spring集成在一起,但不确定如何设计布局。 我想要两页: 用户注册页面(想要在HTML中嵌入GWT小部件) 管理页面(上面嵌入了GWT小部件的单独HTML) 我打算使用Spring Security,应该使用简单的JSP登录页面还是
本文向大家介绍Vue-cli中为单独页面设置背景色的实现方法,包括了Vue-cli中为单独页面设置背景色的实现方法的使用技巧和注意事项,需要的朋友参考一下 例子: 1.如果直接在css中设置body的background-color,会导致其他页面的背景色响应改变,所以不可取; 2.如上面例子如果设置.finish-wrap的背景色以及高度为100%时,会发现只是一部分的背景色发现改变,却不能使整
我正在将Vue与一个名为AEM的CMS进行集成,该CMS基本上可以像Vue一样作为组件基础系统工作。而不是有一个网页和进口的。vue文件,此CMS上的每个组件都是一个新的vue实例(新的vue({…}))。因此,在我的页面上,有许多Veu实例使用同一个存储(vuex)彼此通信。 这实际上工作得很好,但我有一个场景,当我需要一个CMS组件在另一个组件中时。由于这两个组件都是唯一的vue实例,并且父级