vue学习---vuex之简介

每一个 Vuex 应用的核心就是 store(仓库)。"store" 基本上就是一个容器,它包含着你的应用中大部分的状态(state)。Vuex 和单纯的全局对象有以下两点不同:

  1. Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。
  2. 你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交(commit) mutations。

下面就实现一个计数功能简介这两句话:

1.安装vue

我采用的是cmd安装方式,在你想要建立的工程下,全局安装vue

例如:F:vueDemo文件夹    cmd  F: 回车进入  vueDemo文件夹    输入下面代码安装vue

npm install vue-cli -g

测试是否安装成功  vue -V   成功会显示版本号(这里是2.X的版本)

2. vue init webpack vuexDemo         vuexDemo是工程名

3.cd vuexDemo  进入工程

4.cnpm install   镜像安装   等待安装所有依赖的包

5.npm run dev    会自动选择浏览器,运行在本地8080 端口上,会看到页面

6.Ctrl + c 可结束运行  因为此时没有安装vuex,结束运行,安装vuex

7.cnpm install  vuex  成功后,直接第五步即可.

8.建立的工程目录如下:在src下新建一个store.js文件用于状态管理

9.在store.js 文件中,引入vue vuex ,其代码如下:

 

import Vue from ‘vue‘
import Vuex from ‘vuex‘

//使用vuex模块
Vue.use(Vuex);

//声明静态常量为4  要是访问它,称为 访问状态对象
const state = {
    count : 4
};

//定义一个方法,在vue中,唯一的定义状态的方法就是提交一个mutations,
//而且导出时,只要导出mutations即可,
//当使用时,也仅仅只要使用统一的 $store.commit(‘event‘) event是事件名称。

//要是访问它 ,称为触发状态
const mutations = {
    add(state){
        state.count ++;
    },
    sub(state){
        state.count--;
    }
};

//导出一个模块
export default new Vuex.Store({
    state,
    mutations
})

10.在main.js 中引入 store.js

import Vue from ‘vue‘
import App from ‘./App‘
import router from ‘./router‘

//引入仓库文件
import store from ‘./store.js‘

/* eslint-disable no-new */
new Vue({
  el: ‘#app‘,
  store,
  render:xx=>xx(App) //直接绑定一个节点进行渲染一个组件,将App.vue这个组件直接渲染进in                           dex.html下id="app"的节点下
})

11.在App.vue文件中,测试状态

<template>
  <div id="app">
     <div id="appaaa">
        <h1>这是vuex的示例</h1>
        <p>调用常量 {{$store.state.count}}</p>
        <p>
            <button @click = "$store.commit(‘add‘)">加</button>
            <button @click = "$store.commit(‘sub‘)">减</button>
        </p>
    </div>
  </div>
</template>

12,页面显示效果

 

时间: 2024-10-10 04:00:08

vue学习---vuex之简介的相关文章

vue学习 之 vuex安装及使用

1.安装  vuex npm install vuex --save 2.为什么使用vuex vue 包括  data()状态:template(视图):methods(方法).一个简单的单项数据流概念 但是当我们的应用遇到多个组件共享状态时.单项数据流 容易 破坏. 3. 使用vuex 再main.js 中注入 vuex import Vuex from 'vuex' Vue.use(Vuex) 在src 下创建文件夹store:创建store.js import Vue from 'vue'

vue学习笔记(三)——vuex—store配置

可以将不同视图的仓库放到不同的store中. --store index.js foo.js bar.js --views Foo.vue Bar.vue App.vue main.js 1.配置单个store的信息 foo.js export default{ namespaced: true, //具名引用时使用 state: { //state状态管理(通过store.state.name访问) name: 'waite zhou', age: 25 }, getters: { // st

Vue学习日记(四)——Vue状态管理vuex

前言 先说句前话,如果不是接触大型项目,不需要有多个子页面,不使用vuex也是完全可以的. 说实在话,我在阅读vuex文档的时候,也很难以去理解vuex,甚至觉得没有使用它我也可以.但是直到我在项目碰到下面这些问题: 当路由切换的时候,原本路由的数据太多,传递过去太麻烦. 有些数据是多个路由需要用到的,那我就需要从后台获取多次数据 当然,这些问题都可以解决,就是在实例化vue对象的时候,就将这些数据绑定在window对象上面.但是我们也不得不设想: 万一数据太多了,那么可阅读性是不是会下降 如果

Vue学习总结

1.vue是什么 vue: 渐进式的js框架(先看到做核心的东西,然后再根据需求进行增加,比较灵活) 自底向下(先关注最基础的部分,接着逐渐扩大) 只关注视图层 组件化 响应式设计(响应式:一个网页,根据分辨率的不同,改变网页大小,例如bootstrap就是响应式的,适应式:多个不同的网页,根据分辨率的不同自动选择不同的页面) 2.优缺点 优点:简单              轻量              组件解耦                 超快虚拟dom 缺点: 出现晚(2014)不支

Vue学习小结(一)安装依赖与数据来源

不多说啥了,生活中都是各种阵痛与惊喜.最近在学习vue框架,刚写完一个小型的后台管理系统(https://github.com/michaelzhengzm/info-manager-systerm_ol),在这里做一个阶段性的小结: 一.构建项目与安装依赖 构建项目采用vue-cli脚手架搭建,npm.cnpm.vue-cli这些知识的基础,网上一大片一大片的,就不过多的描述了.难理解的是里面的配置文件,初学的时候确实费了很多劲,先不用去管太多的配置文件,这些主要是以后上线打包的一些配置问题.

vue学习第四天

一:路由跳转 this.$router.push('/course'); this.$router.push({name: course}); this.$router.go(-1); this.$router.go(1); <router-link to="/course">课程页</router-link> <router-link :to="{name: 'course'}">课程页</router-link>

Vue学习笔记入门篇——组件的使用

本文为转载,原文:Vue学习笔记入门篇--组件的使用 组件定义 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展. 组件使用 注册 注册一个全局组件,你可以使用 Vue.component(tagName, options).组件在注册之后,便可以在父实例的模块中以自定义元素 的形式使用.

Vue学习笔记入门篇——组件的内容分发(slot)

本文为转载,原文:Vue学习笔记入门篇--组件的内容分发(slot) 介绍 为了让组件可以组合,我们需要一种方式来混合父组件的内容与子组件自己的模板.这个过程被称为 内容分发 (或 "transclusion" 如果你熟悉 Angular).Vue.js 实现了一个内容分发 API,使用特殊的 'slot' 元素作为原始内容的插槽. 编译作用域 在深入内容分发 API 之前,我们先明确内容在哪个作用域里编译.假定模板为: <child-component> {{ messa

Mahout学习之Mahout简介、安装、配置、入门程序测试

一.Mahout简介 查了Mahout的中文意思--驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了... 附logo: (就是他,骑在象头上的那个Mahout) 步入正文啦: Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现.分类.聚类等.Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的