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中ajax学习笔记4
Oct 16 Javascript
遍历DOM对象内的元素属性示例代码
Feb 08 Javascript
基于jQuery实现动态数字展示效果
Aug 12 Javascript
jQuery插件实现静态HTML验证码校验
Nov 06 Javascript
vue从使用到源码实现教程详解
Sep 19 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
May 27 Javascript
利用JS实现一个同Excel表现的智能填充算法
Aug 13 Javascript
webpack4+react多页面架构的实现
Oct 25 Javascript
深入浅析javascript函数中with
Oct 28 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
Jan 27 Javascript
原生JS实现记忆翻牌游戏
Jul 31 Javascript
vue 动态添加class,三个以上的条件做判断方式
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
php文件上传的例子及参数详解
2013/12/12 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
2014/07/18 PHP
php发送邮件的问题详解
2015/06/22 PHP
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
jquery ajax例子返回值详解
2012/09/11 Javascript
checkbox使用示例
2013/08/23 Javascript
js简单的表格添加行和删除行操作示例
2014/03/31 Javascript
浅谈JavaScript字符串与数组
2015/06/03 Javascript
深入浅析Node.js 事件循环
2015/12/20 Javascript
jQuery插件开发汇总
2016/05/15 Javascript
浅析JavaScript回调函数应用
2016/05/22 Javascript
Vue键盘事件用法总结
2017/04/18 Javascript
详解Layer弹出层样式
2017/08/21 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
2018/12/13 Javascript
node.js基于socket.io快速实现一个实时通讯应用
2019/04/23 Javascript
Layui实现带查询条件的分页
2019/07/27 Javascript
微信小程序实现简单文字跑马灯
2020/05/26 Javascript
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
解决DataFrame排序sort的问题
2018/06/07 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
浅谈pyqt5在QMainWindow中布局的问题
2019/06/21 Python
python内置模块collections知识点总结
2019/12/19 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
美国猫狗药物和用品网站:PetCareRx
2017/01/05 全球购物
Otticanet美国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
端口镜像是怎么实现的
2014/03/25 面试题
自荐书范文
2013/12/08 职场文书
迟到检讨书900字
2014/01/14 职场文书
办公室打字员岗位职责
2014/04/16 职场文书
大学生心理活动总结
2014/07/04 职场文书
共青团员自我评价
2015/03/10 职场文书