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-Jquery简介 入门了解篇
Nov 25 Javascript
一个JS的日期格式化算法示例
Jul 31 Javascript
jQuery+PHP星级评分实现方法
Oct 02 Javascript
javascript电商网站抢购倒计时效果实现
Nov 19 Javascript
Bootstrap3制作搜索框样式的方法
Jul 11 Javascript
AngularJS中$watch和$timeout的使用示例
Sep 20 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
Feb 19 Javascript
强大的JavaScript响应式图表Chartist.js的使用
Sep 13 Javascript
vue如何引入sass全局变量
Jun 28 Javascript
微信小程序实现搜索历史功能
Mar 26 Javascript
Vuex新手的理解与使用详解
May 31 Javascript
vue style width a href动态拼接问题的解决
Aug 07 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
做个自己站内搜索引擎
2006/10/09 PHP
php开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
php中cookie实现二级域名可访问操作的方法
2014/11/11 PHP
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
JavaScript简单实现网页回到顶部功能
2013/11/12 Javascript
javascript获取flash版本号的方法
2014/11/20 Javascript
js对象基础实例分析
2015/01/13 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
vue,angular,avalon这三种MVVM框架优缺点
2016/04/27 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
2017/01/05 Javascript
jQueryUI Sortable 应用Demo(分享)
2017/09/07 jQuery
JQuery 获取多个select标签option的text内容(实例)
2017/09/07 jQuery
Node调用Java的示例代码
2017/09/20 Javascript
原生js封装添加class,删除class的实例
2017/11/06 Javascript
在vue组件中使用axios的方法
2018/03/16 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
Vue-cli打包后如何本地查看的操作
2020/09/02 Javascript
javascript实现电商放大镜效果
2020/11/23 Javascript
Saltstack快速入门简单汇总
2016/03/01 Python
Python出现segfault错误解决方法
2016/04/16 Python
Python中死锁的形成示例及死锁情况的防止
2016/06/14 Python
Django Rest framework解析器和渲染器详解
2019/07/25 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
Python xmltodict模块安装及代码实例
2020/10/05 Python
职高毕业生自我鉴定
2013/10/21 职场文书
保安员岗位职责
2013/11/17 职场文书
十八届三中全会个人学习材料
2014/02/13 职场文书
个人委托书范本汇总
2014/10/01 职场文书
2014年纪委工作总结
2014/12/05 职场文书
月考总结与反思
2015/10/22 职场文书
CSS 文字装饰 text-decoration & text-emphasis 详解
2021/04/06 HTML / CSS
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python