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 面向对象 function类
May 13 Javascript
网页右键ie不支持event.preventDefault和event.returnValue (需要加window)
Feb 22 Javascript
原生javascript实现Tab选项卡切换功能
Jan 12 Javascript
深入理解逻辑表达式的用法 与或非的用法
Jun 06 Javascript
JavaScript中Form表单技术汇总(推荐)
Jun 26 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
Oct 25 Javascript
ajax实现动态下拉框示例
Jan 10 Javascript
jquery Ajax实现Select动态添加数据
Jun 08 jQuery
setTimeout时间设置为0详细解析
Mar 13 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
Aug 02 Javascript
Javascript删除数组里的某个元素
Feb 28 Javascript
jquery实现穿梭框功能
Jan 19 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
非洲第一个咖啡超凡杯大赛承办国—卢旺达的咖啡怎么样
2021/03/03 咖啡文化
剖析 PHP 中的输出缓冲
2006/12/21 PHP
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
2017/12/13 PHP
PHP7内核CGI与FastCGI详解
2019/04/14 PHP
JQuery调webservice实现邮箱验证(检测是否可用)
2013/05/21 Javascript
深入理解JavaScript系列(31):设计模式之代理模式详解
2015/03/03 Javascript
jQuery动画效果实现图片无缝连续滚动
2016/01/12 Javascript
javascript与jquery动态创建html元素示例
2016/07/25 Javascript
js无提示关闭浏览器窗口的两种方法分析
2016/11/06 Javascript
基于JavaScript实现Tab选项卡切换效果
2016/11/24 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
vue引入jq插件的实例讲解
2017/09/12 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
json前后端数据交互相关代码
2018/09/19 Javascript
微信小程序使用map组件实现解析经纬度功能示例
2019/01/22 Javascript
vue请求本地自己编写的json文件的方法
2019/04/25 Javascript
关于vue项目中搜索节流的实现代码
2019/09/17 Javascript
JS页面动态绘图工具SVG,Canvas,VML介简介
2020/10/16 Javascript
python3.5 tkinter实现页面跳转
2018/01/30 Python
Django工程的分层结构详解
2019/07/18 Python
python将print输出的信息保留到日志文件中
2019/09/27 Python
使用Python测试Ping主机IP和某端口是否开放的实例
2019/12/17 Python
python sorted函数原理解析及练习
2020/02/10 Python
canvas像素画板的实现代码
2018/11/21 HTML / CSS
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
网站编辑求职信
2013/10/17 职场文书
市场开发计划书
2014/05/07 职场文书
2015年汽车销售工作总结
2015/04/07 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书
如何获取numpy array前N个最大值
2021/05/14 Python
使用Pytorch实现two-head(多输出)模型的操作
2021/05/28 Python