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 放大镜 放大倍率和视窗尺寸
May 09 Javascript
javascript实现获取字符串hash值
May 10 Javascript
jQuery实现判断滚动条到底部
Jun 23 Javascript
javascript自定义in_array()函数实现方法
Aug 03 Javascript
详解maxlength属性在textarea里奇怪的表现
Dec 27 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
Nov 24 Javascript
jquery dataview数据视图插件使用方法
Dec 23 Javascript
javascript深拷贝的原理与实现方法分析
Apr 10 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
Jun 11 Javascript
vue.js使用v-pre与v-html输出HTML操作示例
Jul 07 Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
Sep 25 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
php自定义的格式化时间示例代码
2013/12/05 PHP
PHP json_encode() 函数详解及中文乱码问题
2015/11/05 PHP
ExtJS 下拉多选框lovcombo
2010/05/19 Javascript
jquery下利用jsonp跨域访问实现方法
2010/07/29 Javascript
浏览器加载、渲染和解析过程黑箱简析
2012/11/29 Javascript
使用jQuery validate 验证注册表单实例演示
2013/03/25 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
JS加载器如何动态加载外部js文件
2016/05/26 Javascript
AngularJs 终极购物车(实例讲解)
2017/11/08 Javascript
vue-cli 组件的导入与使用教程详解
2018/04/11 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
Python实现从脚本里运行scrapy的方法
2015/04/07 Python
python实现将html表格转换成CSV文件的方法
2015/06/28 Python
python 随机数使用方法,推导以及字符串,双色球小程序实例
2017/09/12 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
django 通过URL访问上传的文件方法
2019/07/28 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
2019/08/26 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
2020/04/22 Python
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
AmazeUI的JS表单验证框架实战示例分享
2020/08/21 HTML / CSS
哈利波特商店:Harry Potter Shop
2018/11/30 全球购物
vue+django实现下载文件的示例
2021/03/24 Vue.js
外贸业务员的岗位职责
2013/11/23 职场文书
外语系毕业生自荐信范文
2013/12/16 职场文书
2014年超市员工工作总结
2014/11/18 职场文书
会议接待欢迎词范文
2015/01/26 职场文书
培训简讯范文
2015/07/20 职场文书
三八节祝酒词
2015/08/11 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书
班主任工作经验交流会总结
2015/11/02 职场文书
2016国培研修心得体会
2016/01/08 职场文书
JavaScript 语句之常用 for 循环详解
2021/03/29 Javascript
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
2022/06/21 Python
SpringBoot详解执行过程
2022/07/15 Java/Android