vue2.0学习之使用常量替代 Mutation 事件类型释义

来源:互联网 发布:macbook下不了软件 编辑:程序博客网 时间:2024/06/06 16:56

es6花样不少,不熟悉的话怎么看总感觉有问题。

于是。import Vuexfrom'vuex'import{ SOME_MUTATION}from'./mutation-types'const store =newVuex.Store({ state:{...}, mutations:{// 我们可以使用 ES2015 风格的计算属性命名功能来使用一个常量作为函数名[SOME_MUTATION](state){// mutate state}}})

属性名表达式

JavaScript语言定义对象的属性,有两种方法。

// 方法一obj.foo = true;// 方法二obj['a' + 'bc'] = 123;

上面代码的方法一是直接用标识符作为属性名,方法二是用表达式作为属性名,这时要将表达式放在方括号之内。

但是,如果使用字面量方式定义对象(使用大括号),在 ES5 中只能使用方法一(标识符)定义属性。

var obj = {  foo: true,  abc: 123};

ES6 允许字面量定义对象时,用方法二(表达式)作为对象的属性名,即把表达式放在方括号内。

let propKey = 'foo';let obj = {  [propKey]: true,  ['a' + 'bc']: 123};

下面是另一个例子。

var lastWord = 'last word';var a = {  'first word': 'hello',  [lastWord]: 'world'};a['first word'] // "hello"a[lastWord] // "world"a['last word'] // "world"

表达式还可以用于定义方法名。

let obj = {  ['h' + 'ello']() {    return 'hi';  }};obj.hello() // hi
http://caibaojian.com/es6/object.html 具体看这里。
原创粉丝点击