zoukankan      html  css  js  c++  java
  • VUE项目爬坑---6、vuex的真正存在的意义是什么

    VUE项目爬坑---6、vuex的真正存在的意义是什么

    一、总结

    一句话总结:

    a、【避免低效的数据传递】:当多个组件嵌套的时候,只能父子传递,那么中间的组件只能做传递数据之用,数据不是它用,它却传递数据,这样不合理
    b、【管理组件状态】:vuex可以让多个组件很方便的获取和管理状态

    1、提交 Mutations,分发 Action?

    提交 Mutations:store.commit('increment')
    分发 Action:store.dispatch('increment')

    2、vuex中action、mutations、state和外部调用的关系?

    vuex中action操作mutations,mutations操作state,外部就dispatch action

    3、我们可以import引入模块,那肯定是文件里面export了?

    我们可以import引入模块,那肯定是文件里面export了,无论是常用的组件比如vue,还是我们简单的变量
    import Vue from 'vue'
    import Vuex from 'vuex'
    
    import state from './state'
    import mutations from './mutations'
    import actions from './actions'
    import getters from './getters'
    
    import {ADD_TODO, DELETE_TODO, SELECT_ALL_TODOS, DELETE_COMPLETE_TODOS} from './mutation-types'

    4、js让字符串变成变量?

    可以加中括号,例如[DELETE_TODO] (state, {index}) {state.todos.splice(index, 1)}
    /*
    包含n个用于直接更新状态的方法的对象模块
     */
    import {ADD_TODO, DELETE_TODO, SELECT_ALL_TODOS, DELETE_COMPLETE_TODOS} from './mutation-types'
    
    export default {
      [ADD_TODO] (state, {todo}) {  // 方法名不是ADD_TODO, 而是add_todo
        state.todos.unshift(todo)
      },
      [DELETE_TODO] (state, {index}) {
        state.todos.splice(index, 1)
      },
      [SELECT_ALL_TODOS] (state, {isCheck}) {
        state.todos.forEach(todo => todo.complete = isCheck)
      },
    
      [DELETE_COMPLETE_TODOS] (state) {
        state.todos = state.todos.filter(todo => !todo.complete)
      }
    }

    5、从后台ajax来的数据,都可以用watch来监控?

    用watch监控之后后台ajax来的数据之后,这样数据一旦获取,就可以通过watch来更新

    6、vue的watch中还有深度监视?

    设置监视属性的deep为true
    watch:{//监视todos的所有变化
        todos:{
            deep:true,//深度监视
            handler:storageUti1.saveTodos//保存todos 到Localstoragd
        }
    }

    7、vuex中的module(模块化)?

    各个状态管理可以分模块,对大应用很方便,一个模块里面就是一套的state、mutations、actions、getters

    二、内容在总结中

    博客对应课程的视频位置:

     
  • 相关阅读:
    android 多线程
    Uva 10881 Piotr’s Ants 蚂蚁
    LA 3708 Graveyard 墓地雕塑 NEERC 2006
    UVa 11300 Spreading the Wealth 分金币
    UVa 11729 Commando War 突击战
    UVa 11292 The Dragon of Loowater 勇者斗恶龙
    HDU 4162 Shape Number
    HDU 1869 六度分离
    HDU 1041 Computer Transformation
    利用可变参数函数清空多个数组
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12804719.html
Copyright © 2011-2022 走看看