1、新建Vue项目:vue init webpack projectName

2、vue-router模块

  1、安装vue-router模块:npm install vue-router --save-dev

  2、在src文件夹下新建文件夹router继续新建文件index.js

    编辑index.js文件

    首先引入模块:

      import Vue from 'vue';

      import VueRouter from 'vue-router';

      import home from '../component/home'

      import user from '../component/user'

      ...(引入自己定义的组件)

    声明引用:

      Vue.use(VueRouter);

    在接口通告新建的 router:

      exports default new VueRouter({

        routes: [

          {path: '/home', component: home},
          {path: '/user', component: user}...

        ]

      })

  3、在main.js中编辑

    import router from './router'(引入模块)

    

    new Vue({
        el: '#app',
        router,   //(在Vue对象中加入router)
        components: {
            App
        },
        template: '<App/>'
    })
 

  4、在App组件(组件都可以)中引用

    <router-link to="/home">home</router-link>

    <router-link to="/user">user</router-link>

    <div>

      <router-view></router-view>

    </div>

2、vuex模块

  1、安装vuex模块:npm install vuex --save

  2、在src文件夹下创建新文件夹store再创建文件index.js

    编辑index.js文件

    引入模块:

      import Vue from 'vue'

      import Vuex from 'vuex'

    声明引用:

      Vue.use(Vuex)

    宣告出口:

      export default new Vuex.Store({

        

      })

  3、在main.js中编辑

    import store from './store/index'(引入模块)

    new Vue({
        el: '#app',
        store,  //(在Vue对象中加入store)
        components: {
            App
        },
        template: '<App/>'
    })
 

  4、在index.js中继续编辑:

    1、声明变量(单一状态树)

      const state = {

        count,

        sum...(等等需要在不同组件中使用的变量)

      }

      在其他组件中引用:

        1、先引入store模块:import store from '@/store/index'

        2、正常访问变量:$store.state.count

        3、通过 computed 的计算属性直接赋值    

computed: {
  count () {
    return this.$store.state.count
  },
  sum() {
    return this.$store.state.sum
  }
}

        4、借用辅助函数mapState

<script>
  import mapState from 'vuex'//引入辅助函数
  
  computed: mapState({//ES6的箭头函数
    count: state => state.count,
    sum: state => state.sum
  })   //或者直接使用mapState辅助函数的字符串数组
  computed: mapState(['count', 'sum']) </script>

    2、声明控制状态对象的方法:

      const mutations = {

        add (state, n) {

          state.count += n;

        }

      }

      在其他组件中引用:

        1、正常访问:$.store.commit('add', '10')

        2、通过methods方法控制mutations(参考上面computed,注意:提交方法为:this.$store.commit('add'))

        3、借用mapMutations辅助函数  

import {mapState, mapMutations} from 'vuex'//引入辅助函数

methods: {
  ...mapMutations(['add'])
}

      

    

    

Vue项目的更多相关文章

  1. vue-cli快速构建Vue项目

    vue-cli是什么? vue-cli 是vue.js的脚手架,用于自动生成vue.js模板工程的. vue-cli怎么使用? 安装vue-cli之前,需要先装好vue 和 webpack npm i ...

  2. requirejs + vue 项目搭建2

    上篇是年后的项目搭建的,时间比较仓促,感觉有点low 1.gulp-vue 文件对公用js的有依赖,以后别的同事拿去搭其他项目,估计会被喷 2.不支持vue-loader一样写模版语言和es6语法 最 ...

  3. vue项目目录介绍

    Vue项目目录 初始化项目 vue init webpack []projectname] cd [projectname] npm install vue run dev 目录树 +---build ...

  4. Vue 项目实战系列 (一)

    最近一直在学习Vue,基本的文档看完后就需要进行具体的项目进行练手了,本系列文章主要是将我学习过程记录下来,和大家一起学习交流. 我在git上找到了一个淘票票的Vue项目,项目地址: https:// ...

  5. 简单vue项目脚手架(vue+webpack2.0+vuex+vue-router)

    github地址 使用技术栈 webpack(^2.6.1) webpack-dev-server(^2.4.5) vue(^2.3.3) vuex(^2.3.1) vue-router(^2.5.3 ...

  6. vue项目构建与实战

    关于 微信公众号:前端呼啦圈(Love-FED) 我的博客:劳卜的博客 知乎专栏:前端呼啦圈 前言 由于vue相对来说比较平缓的学习过程和新颖的技术思路,使其受到了广大前后端开发者的青睐,同时其通俗易 ...

  7. Vue项目搭建完整剖析全过程

    Vue项目搭建完整剖析全过程 项目源码地址:https://github.com/ballyalex 有帮助的话就加个星星呗~!  项目技术栈:vue+webpack+bower+sass+axios ...

  8. 利用webpack构建vue项目

    快速搭建vue项目 一,确认自己有无搭建好node以及npm环境,这些是前提,具体安装方法可参考https://nodejs.org/en/. 二,开始构建项目. 第1步:新建一个文件夹,随意命名. ...

  9. 如何快速把 Vue 项目升级到 webpack3

    由于 webpack3升级后,新增了 Scope Hositing(作用域提升) 功能,据说是对 js的性能提升很大.因此,我们做了一个测试对比,就是 webpack3和 webpack1/2 的性能 ...

  10. vue-修改vue项目运行端口号

    一.导语 最近在研究,左侧是导航,右侧是显示对应的内容,左右可单独滚动,不互相影响,如何实现? 萝卜蹲的游戏大家都玩过,白萝卜蹲,白萝卜蹲,白萝卜蹲完红萝卜蹲,可是若是在含有滚动条的页面的情况下,白萝 ...

随机推荐

  1. Tomcat 全攻略

    转自:http://www.ibm.com/developerworks/cn/java/l-tomcat/ 简介 tomcat 是 jakarta 项目中的一个重要的子项目,其被 JavaWorld ...

  2. 关于ECMP 等价路由

    1.ECMP简介 Equal-CostMultipathRouting,等价多路径.即存在多条到达同一个目的地址的相同开销的路径.当设备支持等价路由时,发往该目的 IP 或者目的网段的三层转发流量就可 ...

  3. Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境

    Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境 一.环境说明 个人理解:zookeeper可以独立搭建集群,hbase本身不能独立搭建集群需要和hadoo ...

  4. Excel 函数集(使用过的)

    1.   SUBTOTAL函数  筛选结果求和 SUBTOTAL(函数编号, 区域) 函数编号 为 1 到 11(包含隐藏值)或 101 到 111(忽略隐藏值)之间的数字,指定使用何种函数在数据清单 ...

  5. css - Grid网格布局

    .wrapper{ display: grid; grid-template-columns: 100px 100px 100px; grid-template-rows: 100px 100px 1 ...

  6. Unity 给Mono脚本添加Try Catch工具

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Run ...

  7. numpy 中不常用的一些方法

    作者:代码律动链接:https://zhuanlan.zhihu.com/p/36303821来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 挑战 1:引入 numpy ...

  8. isinstance函数

    isinstance isinstance(object, classinfo) 判断实例是否是这个类或者object是变量 classinfo 是类型(tuple,dict,int,float,bo ...

  9. ERP项目实施记录03

    今天继续测试,3周了,终于弄到采购进货.

  10. 洛谷P1086 花生采摘【模拟】

    题目描述 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!――熊字”. 鲁宾逊先生和多多都很开心,因为花生正是他 ...