1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > VSCode自定义代码片段13——Vue的状态大管家

VSCode自定义代码片段13——Vue的状态大管家

时间:2019-05-31 08:36:03

相关推荐

VSCode自定义代码片段13——Vue的状态大管家

Vue的状态大管家

{// V'Vuex// 13 如何自定义用户代码片段:VSCode =》左下角设置 =》用户代码片段 =》新建全局代码片段文件... =》自定义片段名称 =》编辑用户片段 =》ctrl+S 保存// Vue的状态大管家"Print to console": {"prefix": "V'Vuex","body": ["// 位置:./store/index.js","// 1,引入插件","import Vue from \"vue\"","import Vuex from \"vuex\"","","// 2,安装插件","Vue.use(Vuex);","","// 3,创建对象","const store = new Vuex.Store({"," //【state:状态】------ ----- ---- ---【state:状态】 --- ---- ----- ------ 【state:状态】"," state: {//状态"," num: 18"," , students: ["," {","name: \"小白\",","age: 11"," }"," , {","name: \"小黑\",","age: 22"," }"," , {","name: \"小红\",","age: 33"," }"," ]"," }"," //【mutations:改变状态】------ ----- ---- ---【mutations:改变状态】 --- ---- ----- ------ 【mutations:改变状态】"," , mutations: {//改变状态的方法,其中的每个方法默认传入state"," // 被所有组件调用唯一方式:this.$mit(\"change_num\"[,对象参数])"," // 一般要先初始化再使用,但也可以用Vue.set(对象,键,值)方法响应式添加属性,Vue.delete(对象,属性名)响应式删除对象属性"," change_num() {"," state.num++;"," },"," aUpdateInfo() {"," state.students[0].name = \"老王\""," }"," }"," , actions: {//有异步操作的方法,其中的方法默认传入context(上下文,环境,语境)"," // 被所有组件调用唯一方式:this.$store.disqatch(\"change_num\"[,对象参数])"," aUpdateInfo(context) {"," // 有时完成异步后可以用Promis回调.then()"," return new Promise((resolve, reject) => {","setTimeout(() => {","mit(\"updateInfo\")","}, 1000);"," })"," }"," }"," //【getters:计算属性】------ ----- ---- ---【getters:计算属性】 --- ---- ----- ------ 【getters:计算属性】"," , getters: {//计算属性,对状态需要处理后的数据"," // 被组件使用:$store.getters.more20stu"," more20stu(state) {"," return state.students.filter(n => n.age > 20);"," }"," , more20stu(state, getters) {//第二个参数固定为getters"," return getters.more20stu.length;"," }"," , more20stu(state) {"," return function name(age) {//需要其它参数时可返回成一个函数","return state.students.filter(n => n.age > age);"," }"," }"," }"," //【modules:子管家模块】------ ----- ---- ---【modules:子管家模块】 --- ---- ----- ------ 【modules:子管家模块】"," , modules: {//相当于大管家的子管家,子管家有自己的独立作用域,它保存在大管家的state中,"," // 被.vue组件调用小仓库:this.$store.state.mod_a.age"," // 而其它属性同大管家一样调用 this.$mit(\"change_age_2\"[,对象参数])"," mod_a: {"," state: {","age: 10"," }"," , mutations: {","change_age_2() {","state.age++;","}"," }"," , actions: {}"," , getters: {} // 默认传入context,contxt.rootGetters可访问大管家的getters,同理context.rootState也是"," },"," mod_b: {",""," }"," }","});","","// 最后,导出到main.js然后注册","export default store;","","// 补充:对象的解构","// const {name ,heigth ,age} = obj // 定义常量name,heigth,age分别取出对象中对应属性值 ",],"description": "Vue的状态大管家"}}

@沉木

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。