举例来说,如果未封装,则在获取state时必须这样写
const sCounter=computed ()=store.state.counter (const sname=computed ) )=store.state.name (const sage=const ssname )
conststorestate=use state ([ ' counter ',' name ',' age'] )启动打包以创建useMapper.js文件
导入{ computed } from ' vue ' import { usestore } from ' vuex ' exportfunctionusemapper (通过获取map fn (//store独立控制store ) 获取相应的目标函数: name : function,age : function } conststorestatefns=map fn (mapper ) /转换数据的conststorestatefns . foreach (fn key={ const fn=storestatefns [ fn key ].bind ) $store:store} ) storestate[fnkey]=computed ) fn
导入{ map state, createnamespacedhelpers } from ' vuex ' import { use mapper } from './use mapper ' exportfunctionusestate mapper } { letmappper }
导入{地图获取器, createnamespacedhelpers } from ' vuex ' import { use mapper } from './use mapper ' exportfunctionusegetter mapper () letmapperfn=mapgettersif ) type of modulename==' string ' modulename.lengge 使用perfn=createnamespacedda.map getters } returnusemapper (mapper,mapperFn ),如果未用模块进行模块化,请这样直接在页面上{
conststorestate=use state ([ ' counter '、' name '、' age '、' height']; conststoregetters=use getters ([ ' name info '、' ageInfo '、' heightInfo'] ); return { .storeState, storeGetters }使用模块化模块后,这样写。 如果modules具有home,则在页面上使用{{homeCounter}}。
conststate=usestate(home,) homecounter,(homecounter ) ) const getters=use getters (home,) (doublehomecounter ) )