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 formValidator表单验证插件开源了 含API帮助、源码、示例
Aug 14 Javascript
location.href 在IE6中不跳转的解决方法与推荐使用代码
Jul 08 Javascript
使用js判断控件是否获得焦点
Jan 03 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
Mar 09 Javascript
ES6新特性六:promise对象实例详解
Apr 21 Javascript
Vue.js 单页面多路由区域操作的实例详解
Jul 17 Javascript
js判断数组是否包含某个字符串变量的实例
Nov 24 Javascript
详解VUE 数组更新
Dec 16 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
Jul 26 Javascript
Element-ui DatePicker显示周数的方法示例
Jul 19 Javascript
微信小程序返回上一页传参并刷新过程解析
Dec 13 Javascript
vue - props 声明数组和对象操作
Jul 30 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学习笔记 面向对象的构造与析构方法
2011/06/13 PHP
php与java通过socket通信的实现代码
2013/10/21 PHP
typecho插件编写教程(二):写一个新插件
2015/05/28 PHP
Yii2使用自带的UploadedFile实现的文件上传
2016/06/20 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
2016/07/23 PHP
PDO::rollBack讲解
2019/01/29 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
js时间戳格式化成日期格式的多种方法
2013/11/11 Javascript
根据表格中的某一列进行排序的javascript代码
2013/11/29 Javascript
根据当前时间在jsp页面上显示上午或下午
2014/08/18 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
2015/08/09 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
基于JQuery实现图片上传预览与删除操作
2016/05/24 Javascript
Javascript中prototype的使用详解
2016/06/18 Javascript
JavaScript简单获取系统当前时间完整示例
2016/08/02 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
JS实现拖拽的方法分析
2016/12/20 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
2017/02/26 Javascript
react-redux中connect的装饰器用法@connect详解
2018/01/13 Javascript
iview table render集成switch开关的实例
2018/03/14 Javascript
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
JS实现“全选”和&quot;全不选&quot;功能代码实例
2020/02/06 Javascript
微信公众号网页分享功能开发的示例代码
2020/05/27 Javascript
python开发之字符串string操作方法实例详解
2015/11/12 Python
详解Python并发编程之从性能角度来初探并发编程
2019/08/23 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
python飞机大战游戏实例讲解
2020/12/04 Python
EJB的基本架构
2016/09/22 面试题
迁户口计划生育证明
2014/10/19 职场文书
2015年小学重阳节活动总结
2015/07/29 职场文书
八年级历史教学反思
2016/02/19 职场文书
《草船借箭》教学反思
2016/02/23 职场文书
分享node.js实现简单登录注册的具体代码
2022/04/26 NodeJs