vuex modules ajax,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
二、內容在總結中
博客對應課程的視頻位置:
總結
以上是生活随笔為你收集整理的vuex modules ajax,VUE项目爬坑---6、vuex的真正存在的意义是什么的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php文件上传详解,PHP文件上传实例详
- 下一篇: vue 时区转换_vue---时间戳转换