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 相关文章推荐
js鼠标左右键 键盘值小结
Jun 11 Javascript
JS DOM 操作实现代码
Aug 01 Javascript
两个listbox实现选项的添加删除和搜索
Mar 01 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
Nov 08 Javascript
jQuery对html元素的取值与赋值实例详解
Dec 18 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
Sep 05 Javascript
Bootstrap列表组学习使用
Feb 09 Javascript
JS实现动态给标签控件添加事件的方法示例
May 13 Javascript
webpack打包单页面如何引用的js
Jun 07 Javascript
vue select二级联动第二级默认选中第一个option值的实例
Jan 10 Javascript
在Vue项目中使用snapshot测试的具体使用
Apr 16 Javascript
javascript定时器的简单应用示例【控制方块移动】
Jun 17 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分页原理 分页代码 分页类制作教程
2016/09/23 PHP
PHP的消息通信机制测试实例
2016/11/10 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
2019/04/30 PHP
js css样式操作代码(批量操作)
2009/10/09 Javascript
基于jquery的tab切换 js原理
2010/04/01 Javascript
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
javascript ready和load事件的区别示例介绍
2013/08/30 Javascript
javascript中checkbox使用方法简单实例演示
2015/11/17 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
全面了解JS中的匿名函数
2016/06/29 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
2016/11/22 Javascript
Javascript 对cookie操作详解及实例
2016/12/29 Javascript
js实现简单的计算器功能
2017/01/16 Javascript
bootstrap配合Masonry插件实现瀑布式布局
2017/01/18 Javascript
原生JavaScript实现AJAX、JSONP
2017/02/07 Javascript
react-native android状态栏的实现
2018/06/15 Javascript
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
2018/08/31 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
JS实现网页时钟特效
2020/03/25 Javascript
[00:37]食人魔魔法师轮盘吉兆顺应全新至宝将拥有额外款式
2019/12/19 DOTA
python动态加载变量示例分享
2014/02/17 Python
Python使用xlrd读取Excel格式文件的方法
2015/03/10 Python
Python用threading实现多线程详解
2017/02/03 Python
将python文件打包成EXE应用程序的方法
2019/05/22 Python
python global和nonlocal用法解析
2020/02/03 Python
Pyspark获取并处理RDD数据代码实例
2020/03/27 Python
python 识别登录验证码图片功能的实现代码(完整代码)
2020/07/03 Python
使用css3制作动感导航条示例
2014/01/26 HTML / CSS
HTML5 移动页面自适应手机屏幕四类方法总结
2017/08/17 HTML / CSS
英国最大线上综合鞋类商城:Office
2017/12/08 全球购物
有针对性的求职自荐信
2013/11/14 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书