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 相关文章推荐
web前端开发也需要日志
Dec 09 Javascript
Jquery 获取对象的几种方式介绍
Jan 17 Javascript
动态读取JSON解析键值对的方法
Jun 03 Javascript
设置点击文本框或图片弹出日历控件的实现代码
May 12 Javascript
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
Aug 09 Javascript
详细总结Javascript中的焦点管理
Sep 17 Javascript
Bootstrap的modal拖动效果
Dec 25 Javascript
node.js 用socket实现聊天的示例代码
Oct 17 Javascript
vue axios 在页面切换时中断请求方法 ajax
Mar 05 Javascript
基于three.js实现的3D粒子动效实例代码
Apr 09 Javascript
在vue中使用eslint,配合vscode的操作
Nov 09 Javascript
vuex页面刷新导致数据丢失的解决方案
Dec 10 Vue.js
微信小程序  生命周期详解
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脚本数据库功能详解(下)
2006/10/09 PHP
在PHP中使用X-SendFile头让文件下载更快
2014/06/01 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
ASP SQL防注入的方法
2008/12/25 Javascript
jquery实现奇偶行赋值不同css值
2012/02/17 Javascript
表单元素的submit()方法和onsubmit事件应用概述
2013/02/01 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
js中window.open打开一个新的页面
2014/08/10 Javascript
jQuery Validate初步体验(一)
2015/12/12 Javascript
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
2016/08/29 Javascript
微信小程序 picker-view 组件详解及简单实例
2017/01/10 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
使用JS模拟锚点跳转的实例
2018/02/01 Javascript
jQuery基于Ajax实现读取XML数据功能示例
2018/05/31 jQuery
Puppet的一些技巧
2018/09/17 Javascript
使用ng-packagr打包Angular的方法示例
2018/09/21 Javascript
如何使用Jquery动态生成二级选项列表
2020/02/06 jQuery
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
2020/02/12 Javascript
python算法演练_One Rule 算法(详解)
2017/05/17 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
2017/09/20 Python
Python模块文件结构代码详解
2018/02/03 Python
TensorFlow实现iris数据集线性回归
2018/09/07 Python
运用PyTorch动手搭建一个共享单车预测器
2019/08/06 Python
PYTHON EVAL的用法及注意事项解析
2019/09/06 Python
联想中国官方商城:Lenovo China
2017/10/18 全球购物
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
美国踏板车和轻便摩托车销售网站:Mega Motor Madness
2020/02/26 全球购物
哈弗商学院毕业生求职信
2014/02/26 职场文书
党员入党表决心的话
2014/03/11 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
说谎欺骗人检讨书300字
2014/11/18 职场文书
2015年元旦促销方案书
2014/12/09 职场文书
合理化建议书
2015/02/04 职场文书
php 文件上传至OSS及删除远程阿里云OSS文件
2021/07/04 PHP