Hooke

使用mapGetters 工具函数映射到局部计算属性

1 { 1 {
2 - "presets": [ 2 + "presets": ["es2015"],
3 - ["es2015", { "modules": false }] 3 + "plugins": ["transform-object-rest-spread"]
4 - ]
5 } 4 }
......
...@@ -20,7 +20,10 @@ ...@@ -20,7 +20,10 @@
20 "devDependencies": { 20 "devDependencies": {
21 "babel-core": "^6.0.0", 21 "babel-core": "^6.0.0",
22 "babel-loader": "^6.0.0", 22 "babel-loader": "^6.0.0",
23 + "babel-plugin-transform-object-rest-spread": "^6.16.0",
24 + "babel-plugin-transform-runtime": "^6.15.0",
23 "babel-preset-es2015": "^6.0.0", 25 "babel-preset-es2015": "^6.0.0",
26 + "babel-runtime": "^6.18.0",
24 "cross-env": "^3.0.0", 27 "cross-env": "^3.0.0",
25 "css-loader": "^0.25.0", 28 "css-loader": "^0.25.0",
26 "file-loader": "^0.9.0", 29 "file-loader": "^0.9.0",
......
1 <template lang="html"> 1 <template lang="html">
2 <div> 2 <div>
3 doneTodos: {{doneTodos}} 3 doneTodos: {{doneTodos}}
4 + doneTodosCount: {{doneTodosCount}}
4 </div> 5 </div>
5 </template> 6 </template>
6 7
7 <script> 8 <script>
9 +import { mapGetters } from 'vuex'
10 +
8 export default { 11 export default {
9 data () { 12 data () {
10 return {} 13 return {}
11 }, 14 },
12 computed: { 15 computed: {
13 - doneTodos (){ 16 + // doneTodos (){
14 - return this.$store.getters.doneTodos 17 + // return this.$store.getters.doneTodos
15 - } 18 + // },
19 + // doneTodosCount (){
20 + // return this.$store.getters.doneTodosCount
21 + // }
22 + ...mapGetters([
23 + 'doneTodosCount',
24 + 'doneTodos'
25 + ])
16 }, 26 },
17 mounted () {}, 27 mounted () {},
18 methods: {}, 28 methods: {},
......
...@@ -21,6 +21,9 @@ const store = new Vuex.Store({ ...@@ -21,6 +21,9 @@ const store = new Vuex.Store({
21 getters: { 21 getters: {
22 doneTodos: state => { 22 doneTodos: state => {
23 return state.todos.filter(todo => todo.done) 23 return state.todos.filter(todo => todo.done)
24 + },
25 + doneTodosCount: (state, getters) => {
26 + return getters.doneTodos.length
24 } 27 }
25 }, 28 },
26 mutations: { 29 mutations: {
......