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 相关文章推荐
解析prototype,JQuery中跳出each循环的方法
Dec 12 Javascript
jQuery的css() 方法使用指南
May 03 Javascript
js+html5操作sqlite数据库的方法
Feb 02 Javascript
js中常用的Tab切换效果(推荐)
Aug 30 Javascript
Node.js开启Https的实践详解
Oct 25 Javascript
JS弹性运动实现方法分析
Dec 15 Javascript
angularjs点击图片放大实现上传图片预览
Feb 24 Javascript
js 监控iframe URL的变化实例代码
Jul 12 Javascript
vue移动UI框架滑动加载数据的方法
Mar 12 Javascript
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
Jan 18 jQuery
vue 中 命名视图的用法实例详解
Aug 14 Javascript
Javascript地址引用代码实例解析
Feb 25 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+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
php支持中文字符串分割的函数
2015/05/28 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
Laravel中10个有用的用法小结
2019/05/06 PHP
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
Chrome调试折腾记之JS断点调试技巧
2017/09/11 Javascript
javascript浏览器用户代理检测脚本实现方法
2017/10/27 Javascript
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
2018/03/21 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
js使用formData实现批量上传
2020/03/27 Javascript
vue如何限制只能输入正负数及小数
2019/07/04 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
小谈angular ng deploy的实现
2020/04/07 Javascript
vue 实现动态路由的方法
2020/07/06 Javascript
Python实现的单向循环链表功能示例
2017/11/10 Python
100行python代码实现跳一跳辅助程序
2018/01/15 Python
python机器学习之贝叶斯分类
2018/03/26 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
OpenCV图像颜色反转算法详解
2019/05/13 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
2020/10/21 Python
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
2020/04/08 HTML / CSS
土耳其时尚购物网站:Morhipo
2017/09/04 全球购物
年度献血先进个人事迹材料
2014/02/14 职场文书
品酒会策划方案
2014/05/26 职场文书
绿色环保口号
2014/06/12 职场文书
营销总监岗位职责
2014/09/16 职场文书
司法工作人员群众路线对照检查材料思想汇报
2014/09/30 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
2014年后勤管理工作总结
2014/12/01 职场文书
公司业务员管理制度
2015/08/05 职场文书
五星级酒店宣传口号
2015/12/25 职场文书
win10截图快捷键win+shift+s没有反应无法截图怎么解决?
2022/08/14 数码科技