state 唯一数据源 vue实例中 的data 遵循共同的规则 mutation更改vuex中store状态唯一的方法 时提交mutation 非常类似事件,通过store.commit方法触发 action 类似mutation 不同于 action 提交mutation 不是直接变更 store 状态 action可以打包任意操作 module使用单一状态树 应用的所有状态 会集中较大对象 当应用复杂 将store 分割成模块
getter的作用 类似vue.js的计算属性,当我们需要从store的state派生一些状态 我们需要使用getter getter会接收state 作为第一个参数 getter返回值根据他的依赖缓存起来 只有getter中的依赖值 (state中的某个需要派生状态值) 发生的改变的才会重新进算 mutation里面可以放异步吗? 非严格模式可以放异步 可正常运行 严格模式会有警告 不建议放异步代码 为了形成数据快照便于溯源 devtools vuex的数据在页面数据显示刷新后消失 用sessionstorage或者localstorage存数据 存储 sessionstorage.setItem('名',JSON.stringfy(值)) 使用 sessionstorage.getItem('名' ,(得到json字符串)用JSON.parse()去引导)
es6新特性
1.新增了块级作用域(let,const)
2.提供了定义类的语法糖(class)
3.新增了一种基本数据类型(Symbol)
4.新增了变量的解构赋值
5.函数参数允许设置默认值,引入了rest参数,新增了箭头函数。
6.数组新增了一些API,如isArray / from / of 方法;数组实例新增了 entries(),keys() 和 values() 等方法。
7.对象和数组新增了扩展运算符
8.ES6新增了模块化(import / export)
let和 const是什么 let: 声明变量 没有变量提升 不可重复声明 具有块及作用域 声明变量后使用赋值
const 是什么 只读常量 没有变量提升 不可重复声明 具有块级作用域 声明变量必须赋值
什么是变量提升 代码自上而下执行之前,浏览器首先会把带有 “var”、"function"关键字的进行提前“声明”或“定义“,这种预先处理的机制就是变量提升。