vuex实现简易计数器


Posted in Javascript onOctober 27, 2016

本文实例为大家分享了vue.js计数器的制作方法,供大家参考,具体内容如下

src/components

Hello.vue

<template>
 <div class="hello">
 <h1>Now count is {{counterValue}}</h1>
 <br>
 </div>
</template>

<script>
import { getCount } from '../vuex/getters'
export default {
 vuex: {
 getters: {
  counterValue: getCount
 }
 },
 data () {
 return {
 }
 }
}
</script>

<style scoped>
h1 {
 color: #42b983;
}
</style>

Increate.vue

<template>
 <div>
 <button @click='increment' class="btn btn-success">click me + 3</button>
 <button @click='reduce' class="btn btn-warning">click me - 1</button>
 </div>
</template>

<script>
import { incrementCounter, reduceCounter } from '../vuex/action'
export default {
 vuex: {
 actions: {
  increment: incrementCounter,
  reduce: reduceCounter
 }
 },
 data: function () {
 return {
 }
 },
 computed: {},
 ready: function () {},
 attached: function () {},
 methods: {},
 components: {}
}
</script>

<style lang="css">
</style>

src/vuex

store.js

import Vue from 'vue'
import Vuex from 'Vuex'

Vue.use(Vuex)

const state = {
 count: 0
}

const mutations = {
 INCREMENT (state, n) {
 state.count = state.count + n
 },
 REDUCE (state) {
 state.count--
 }
}

export default new Vuex.Store({
 state,
 mutations
})

action.js

export const incrementCounter = ({dispatch}) => dispatch('INCREMENT', 3)
export const reduceCounter = ({dispatch}) => dispatch('REDUCE')

getters.js

export function getCount (state) {
 return state.count
}

src/App.vue

<template>
 <div id="app">
 <img class="logo" src="./assets/logo.png">
 <hello></hello>
 <increate></increate>
 </div>
</template>

<script>
import Hello from './components/Hello'
import Increate from './components/Increate'
import store from './vuex/store'
export default {
 store,
 components: {
 Hello, Increate
 }
}
</script>

<style>
html {
 height: 100%;
}

body {
 display: flex;
 align-items: center;
 justify-content: center;
 height: 100%;
}

#app {
 color: #2c3e50;
 margin-top: -100px;
 max-width: 600px;
 font-family: Source Sans Pro, Helvetica, sans-serif;
 text-align: center;
}

#app a {
 color: #42b983;
 text-decoration: none;
}

.logo {
 width: 100px;
 height: 100px
}
</style>

 src/main.js

// 入口文件
import Vue from 'vue'
import App from './App'
import VueRouter from 'vue-router'
import VueResource from 'vue-resource'
/* eslint-disable import VueRouter from 'vue-router'no-new */
new Vue({
 el: 'body',
 components: { App }
})

Vue.use(VueRouter)
Vue.use(VueResource)
var router = new VueRouter({
 hashbang: false, // 设置为true时,所有的路径都会被格式化为#!开头
 history: true // 默认false,利用history.pushState(), history.replaceState()来管理浏览历史记录
})

// require('./routers')(router)
router.start(App, '#app')

效果图:

vuex实现简易计数器

本文已被整理到了《Vue.js前端组件学习教程》,欢迎大家学习阅读。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery DOM操作小结与实例
Jan 07 Javascript
Jquery iframe内部出滚动条
Feb 11 Javascript
两种简单实现菜单高亮显示的JS类代码
Jun 27 Javascript
jQuery制作可自定义大小的拼图游戏
Mar 30 Javascript
jquery插件jSignature实现手动签名
May 04 Javascript
JavaScript基本语法讲解
Jun 03 Javascript
JavaScript代码实现左右上下自动晃动自动移动
Apr 08 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
Sep 04 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
Oct 09 Javascript
Kotlin学习第一步 kotlin语法特性
May 25 Javascript
vue-cli 如何打包上线的方法示例
May 08 Javascript
在antd Form表单中select设置初始值操作
Nov 02 Javascript
微信小程序  生命周期详解
Oct 27 #Javascript
require.js+vue开发微信上传图片组件
Oct 27 #Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
Oct 27 #Javascript
vue开发心得和技巧分享
Oct 27 #Javascript
js获取指定字符前/后的字符串简单实例
Oct 27 #Javascript
简单模拟node.js中require的加载机制
Oct 27 #Javascript
浅谈jquery中next与siblings的区别
Oct 27 #Javascript
You might like
mysql+php分页类(已测)
2008/03/31 PHP
基于PHP实现用户在线状态检测
2020/11/10 PHP
javascript 播放器 控制
2007/01/22 Javascript
网页开发中的容易忽略的问题 javascript HTML中的table
2009/04/15 Javascript
JS时间选择器 兼容IE6,7,8,9
2012/06/26 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
浅谈express 中间件机制及实现原理
2017/08/31 Javascript
详解JSONObject和JSONArray区别及基本用法
2017/10/25 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
基于vue.js实现分页查询功能
2018/12/29 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
使用watch在微信小程序中实现全局状态共享
2019/06/03 Javascript
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
基于javascript canvas实现五子棋游戏
2020/07/08 Javascript
微信小程序自定义支持图片的弹窗
2020/12/21 Javascript
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
Python的Flask框架中配置多个子域名的方法讲解
2016/06/07 Python
用Python实现随机森林算法的示例
2017/08/24 Python
pyqt5实现俄罗斯方块游戏
2019/01/11 Python
Python使用post及get方式提交数据的实例
2019/01/24 Python
python输出决策树图形的例子
2019/08/09 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
flask实现验证码并验证功能
2019/12/05 Python
django queryset相加和筛选教程
2020/05/18 Python
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
2014信息技术专业毕业生自我评价
2014/01/17 职场文书
自行车广告词大全
2014/03/21 职场文书
给公司的建议书范文
2014/05/13 职场文书
党员“四风”问题批评与自我批评思想汇报
2014/10/06 职场文书
公安干警正风肃纪心得体会
2016/01/15 职场文书
导游词之上海杜莎夫人蜡像馆
2019/11/22 职场文书