• vue-cli


    要安装cli首先你要有npm,npm下载地址:http://nodejs.cn/download/

    全局安装cli

    npm install vue-cli -g

    之后打 vue -V 命令,如果管用就证明安装成功了

    初始化项目

    vue init <template-name> <project-name>

    <template-name>:表示模板名称,vue-cli官方为我们提供了5种模板,

      webpack-一个全面的webpack+vue-loader的模板,功能包括热加载,linting,检测和CSS扩展。

      webpack-simple-一个简单webpack+vue-loader的模板,不包含其他功能,让你快速的搭建vue的开发环境。

      browserify-一个全面的Browserify+vueify 的模板,功能包括热加载,linting,单元检测。

      browserify-simple-一个简单Browserify+vueify的模板,不包含其他功能,让你快速的搭建vue的开发环境。

      simple-一个最简单的单页应用模板。

    <project-name>:标识项目名称,这个你可以根据自己的项目来起名字。

    在实际开发中,一般我们都会使用webpack这个模板,那我们这里也安装这个模板,在命令行输入以下命令:

    vue init webpack vuecliTest

    后面的项目名称是可以省略的,省略后默认当前文件夹

    vue init webpack

    输入命令后,会询问我们几个简单的选项,我们根据自己的需要进行填写就可以了。

    • Project name :项目名称 ,如果不需要更改直接回车就可以了。注意:这里不能使用大写,所以我把名称改成了vueclitest
    • Project description:项目描述,默认为A Vue.js project,直接回车,不用编写。
    • Author:作者,如果你有配置git的作者,他会读取。
    • Install  vue-router? 是否安装vue的路由插件,我们这里需要安装,所以选择Y
    • Use ESLint to lint your code? 是否用ESLint来限制你的代码错误和风格。我们这里不需要输入n,如果你是大型团队开发,最好是进行配置。
    • setup unit tests with  Karma + Mocha? 是否需要安装单元测试工具Karma+Mocha,我们这里不需要,所以输入n。
    • Setup e2e tests with Nightwatch?是否安装e2e来进行用户行为模拟测试,我们这里不需要,所以输入n。

     填完这些选项就初始化完成了

    之后我们要安装项目的依赖包

    输入以下命令

    npm install

    等待安装结束,然后就可以运行了

    npm run dev

    页面打开后,如果有个vue的初始页面,就证明成功了

    接下来讲解项目里的结构

    首先页面的本体是index.html,在别的地方打的代码最终会编译到这个里面

    index.html当中有一个id为app的div,这个div被替换为了模板,关于替换模板的设置在src下的main.js中

    el 要替换的标签 template 替换的模板 components 模板实际的对象

    那么替换掉这个div的模板放在哪里呢,同样在src下面

    所有.vue后缀的就是模板

    我们接下来看一下模板的内部

    由三部分构成 template script style

    tempate是模板,也就是替换后实际显示的效果

    style是css样式,没什么好说的,但是有一个属性 scoped 这是代表这些样式只在本模板中起效果 (避免了不同模板文件中样式重名问题)

    Script基本等于我们原本在vue的用法时创建的vue对象当中

    原本对象中的属性,在Script中也可以写

    原本的写法 :

     var app = new Vue({
                el:"#vue",
                data:{
                    
                },
                methods:{
                    
                }
            })

    现在的写法 :

    export default {
      data () {
        return {
          
        }
      },methods:{
        show:function(){
          
        }
      }
    }

    Vue的生命周期与钩子函数

     如上图,vue的生命周期一共有10个

        export default {
               data () {
                    return {
             
                    }
                }, 
                beforeCreate:function(){
                    console.log('1-beforeCreate 初始化之后');
                },
                created:function(){
                    console.log('2-created 创建完成');
                },
                beforeMount:function(){
                    console.log('3-beforeMount 挂载之前');
                },
                mounted:function(){
                    console.log('4-mounted 被创建');
                },
                beforeUpdate:function(){
                    console.log('5-beforeUpdate 数据更新前');
                },
                updated:function(){
                    console.log('6-updated 被更新后');
                },
                activated:function(){
                    console.log('7-activated');
                },
                deactivated:function(){
                    console.log('8-deactivated');
                },
                beforeDestroy:function(){
                    console.log('9-beforeDestroy 销毁之前');
                },
                destroyed:function(){
                    console.log('10-destroyed 销毁之后')
                }
        }
                                           

    接下来我们看一下vue的路由

    路由在src → router → index.js

    import Vue from 'vue'   //引入Vue
    import Router from 'vue-router'  //引入vue-router
    import Hello from '@/components/Hello'  //引入根目录下的Hello.vue组件
     
    Vue.use(Router)  //Vue全局使用Router
     
    export default new Router({
      routes: [              //配置路由,这里是个数组
        {                    //每一个链接都是一个对象
          path: '/',         //链接路径
          name: 'Hello',     //路由名称,
          component: Hello   //对应的组件模板
        }
      ]
    })

    路由的基本配置方式为

    在最上面import你要配置的页面,把它变成一个对象

    然后在routes数组中给它设置路径(path)和路由名称(name),再把刚刚import的对象放在component中就完成了

    之后只要访问你设置的路径就可以了

    我们可以注意到vue的路径跟mvc的不太一样(其实就是多了个#),这样做很多事情时会很麻烦

    我们可以在路由加上 mode:"history" ,这样就会变成常见的路径格式

    而且这个模式支持浏览器的后退前进

    注 因为vue一直是同一个页面中不断变内容(局部刷新),所以页面不会刷新也不会跳转,因此浏览器的后退,前进,历史记录都不能用(这也是ajax的一个最大的缺点)

    export default new Router({
      mode:"history",
      routes: [
        {
          path: '/',
          name: 'Hello',
          component: Hello
        }
    })
  • 相关阅读:
    C# Assembly 反射
    C# Assembly 反射
    为C#自定义控件添加自定义事件
    为C#自定义控件添加自定义事件
    redis5.0的槽点迁移,随意玩(单机迁移集群)
    redis5.0的槽点迁移,随意玩(单机迁移集群)
    []MongoDB优化的几点原则
    []MongoDB优化的几点原则
    当MongoDB遇见Spark
    当MongoDB遇见Spark
  • 原文地址:https://www.cnblogs.com/nicopoiduang/p/8025758.html
Copyright © 2020-2023  润新知