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 相关文章推荐
利用javascript实现web页面中指定区域打印
Oct 30 Javascript
JavaScript中的标签语句用法分析
Feb 10 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
Mar 04 Javascript
js获取form的方法
May 06 Javascript
js数组与字符串常用方法总结
Jan 13 Javascript
Bootstrap下拉菜单样式
Feb 07 Javascript
使用store来优化React组件的方法
Oct 23 Javascript
js实现网页同时进行多个倒计时功能
Feb 25 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
Mar 07 Javascript
通过javascript实现段落的收缩与展开
Jun 26 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
Nov 29 Javascript
详解jQuery的核心函数和事件处理
Feb 18 jQuery
微信小程序  生命周期详解
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
Win2003+apache+PHP+SqlServer2008 配置生产环境
2014/07/29 PHP
PHP微信开发之有道翻译
2016/06/23 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
js 获取浏览器高度和宽度值(多浏览器)
2009/09/02 Javascript
网页自动跳转代码收集
2009/09/27 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
2013/02/05 Javascript
浅析JavaScript中的类型和对象
2013/11/29 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
js与C#进行时间戳转换
2014/11/14 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
javascirpt实现2个iframe之间传值的方法
2016/06/30 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
2016/07/07 Javascript
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
element-ui表格合并span-method的实现方法
2019/05/21 Javascript
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
python 3.5实现检测路由器流量并写入txt的方法实例
2017/12/17 Python
在Pycharm中执行scrapy命令的方法
2019/01/16 Python
python调用并链接MATLAB脚本详解
2019/07/05 Python
python3 mmh3安装及使用方法
2019/10/09 Python
如何解决django-celery启动后迅速关闭
2019/10/16 Python
python实现在内存中读写str和二进制数据代码
2020/04/24 Python
在 Python 中使用 7zip 备份文件的操作
2020/12/11 Python
css3实现简单的白云飘动背景特效
2020/10/28 HTML / CSS
HTML5 Web Database 数据库的SQL语句的使用方法
2012/12/09 HTML / CSS
Nike瑞典官方网站:Nike.com (SE)
2018/11/26 全球购物
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
全国道德模范事迹
2014/02/01 职场文书
年会邀请函范文
2015/01/30 职场文书
小学生表扬稿范文
2015/05/05 职场文书
预备党员半年考察意见
2015/06/01 职场文书
单位综合评价意见
2015/06/05 职场文书
初中生入团申请书范文(五篇)
2019/10/16 职场文书
Lombok的详细使用及优缺点总结
2021/07/15 Java/Android