草庐IT

vuex-modules

全部标签

javascript - 如何测试从 VueX 观察计算属性的 Vue 观察者?

假设我有以下组件:import{mapState}from'vuex';importexternalDependencyfrom'...';exportdefault{name:'Foo',computed:{...mapState(['bar'])},watch:{bar(){externalDependency.doThing(this.bar);}}}测试时,我想确保externalDependency.doThing()像这样用bar(来自vuex状态)调用:it('shouldcallexternalDependency.doThingwithbar',()=>{constw

javascript - 在 beforeEach 期间将 vuex 模块状态传递给 vue-router

我将VueJS与vuex和vue-router结合使用。我有一个vuex模块正在对其商店进行修改,并尝试使用它来确定用户是否已通过身份验证。这是我的代码在相关部分的样子。ma​​in.jsimportVuefrom'vue'importAppfrom'./App.vue'importstorefrom'./store'importrouterfrom'./router'router.beforeEach((to,from,next)=>{console.log(router.app)//printsaVue$2objectconsole.log(router.app.$store)//

javascript - Nuxt + Vuex - 如何将 Vuex 模块分解为单独的文件?

在Nuxt文档(here)中,它说“您可以选择将模块文件分解为单独的文件:state.js、actions.js、mutations.js和getters.js。”我似乎找不到任何示例来说明这是如何完成的——很多在根级别将Vuex存储分解为state.js、actions.js、mutations.js和getters.js,以及单独的模块文件,但与分解模块本身无关。所以目前我有:├──assets├──components└──store├──moduleOne.js├──moduleTwo.js└──etc...我想要的是:├──assets├──components└──stor

javascript - "classic"和 "module"Web Worker 有什么区别?

我正在学习JavaScriptWebWorkerAPI,使用MozillaDeveloperNetwork(MDN)文档作为主要来源。Thedocumentationsuggests新Worker的构造函数接受type参数。根据同一文档,此type参数可以接受classic或module的值。不幸的是,文档没有描述classic和module之间的区别。我什么时候想使用classic与module以及两种“类型”的Worker之间有哪些行为差异? 最佳答案 module类型的用途与type="module"attributedoes

javascript - Jest : Mock ES6 Module with both default and named export

我有一个带有默认导出和命名导出的ES6模块:/**/src/dependency.js**/exportfunctionutilityFunction(){returnfalse;}exportdefaultfunctionmainFunction(){return'foo';}它被第二个ES6模块使用:/**/src/myModule.js**/importmainFunction,{utilityFunction}from'./dependency';//EDIT:Fixedsyntaxerrorincodesample//exportdefaultmyModule(){expor

javascript - 有多少业务逻辑属于 Vuex?

我有一个简单的应用程序,它从API中提取产品并将它们显示在页面上,如下所示:我已将Vuex添加到应用程序,这样当路由器将用户移动到特定产品页面时,搜索结果和产品搜索数组不会消失。搜索本身包含以下步骤:显示加载微调器(更新store对象)发送访问API的操作用产品更新store对象,spinner判断产品列表是否用尽隐藏加载微调器你明白了。所有变量都存储在Vuex中,按理说所有业务逻辑也应该属于那里,但真的应该这样吗?我正在专门谈论访问商店参数,例如productsExhausted(当没有更多产品可显示时)或productPage(每次无限滚动模块时递增被触发)等Vuex中有多少逻辑?

javascript - 为什么我们在使用 babel-loader 时要排除 node_modules?

网站上问的大多数问题是如何排除node_modules但相反,我想知道为什么我们要排除node_modules?module.exports={mode:'production',entry:'./src/index.js',output:{path:path.join(__dirname,'dist'),filename:'app.bundle.js'},module:{rules:[{test:/\.js$/,loader:'babel-loader',exclude:/node_modules/,options:{presets:['@babel/preset-env']}}]}

javascript - 如何在汇总编译中使用 node_modules

我反复收到此消息,我正在尝试将d3.js包含到我的分发文件中。Treating'd3.js'asexternaldependency我试过使用这个插件importincludePathsfrom'rollup-plugin-includepaths';varincludePathOptions={paths:['node_modules/d3/d3.min.js'],include:{d3:'d3'},};我错过了什么? 最佳答案 注意:这是针对d3jsv4(我不确定v3是否可行)您需要使用rollup-plugin-node-re

Vuex数据持久化存储

Vue项目中使用Vuex作为状态管理,相当于全局的变量存储,可以在所有的vue组件中共享数据、动态修改其状态。vuex是单向数据流,存在vuex中的变量都是响应式数据,组件中一般会通过computed来使用store中的状态、且有缓存但是当我们去刷新浏览器的时候,store中的状态都会被清空、重新初始化为最初的状态,在某些情况下,我们可能需要将这些状态保存下来,所以这篇来介绍如何让vuex或pinia的状态持久化存储要实现持久化存储,简单来说就是将其状态保存到localStorage或者sessionStorage中 然后在给每个状态默认值的时候就从localStorage或sessionSt

javascript - 计算属性中的 Vuex getter 在整页加载之前显示未定义

我正在尝试使用通过vuex中的mapGetters函数提取的数据来创建计算属性,但在页面/dom完全加载之前,我总是无法定义。这是我用来隐藏/显示某些按钮的isRegistered计算属性的示例。computed:{...mapGetters(['solos','user']),isRegistered(){returnthis.solos.registered.indexOf(this.user._id)!==-1}}这是使用isRegistered计算属性的按钮的HTML。REGISTERNOWREGISTERED我通过在创建的函数中调用的操作设置gettercreated(){t