• Vue之Vue的介绍&安装&开发实例&生命周期钩子


    博主心得:

    1. @keyup必须与change一起使用
    2. v-on.click可以直接写成@click
    3. @click=“setVal”里的setVal换成数字之后有惊喜
    4. VS Code是真的狗,一些报错根本不会直接显示
    5. 总结:VS code太狗了

    1.vue介绍

    1.1 什么是vue
    vue是一个构建用户界面UI的渐进式javascript框架,渐进式的框架是指可以一步一步的由浅入深的去使用这个框架,该框架可以逐步引入项目。作者:尤雨溪

    vue官网 https://cn.vuejs.org/

    1.2 vue的优点

    1.体积小
    压缩后33k左右,体积小意味着下载速度很快。

    2.更高的运行效率
    基于虚拟dom,一种预先通过javascript进行各种计算,把最终的DOM操作计算出来并进行优化的技术。所谓虚拟dom指的是对真实dom的一种模拟。相对于直接操作真实dom,我们构建一棵虚拟的dom树,将各式数据和操作直接应用到这颗虚拟的dom树上,然后再虚拟的树修改应用到真实的dom树中,有助于减少dom的操作次数,带来性能上的提升,可以频繁的操作虚拟节点,然后一定时刻一次性的同步修改到真实dom节点

    3.双向数据绑定
    让开发者不用再去操作dom对象,把更多精力投入到业务逻辑上来

    4.生态丰富,学习比较简单
    市场上有很多稳定成熟的基于vue的ui框架可以拿来使用,实现快速开发。中国人开发的,中文资料丰富。

    2. 库和框架的区别

    2.1 库

    本质上是一些函数的集合。每次调用函数,实现一个特定的功能,接着把控制权交给使用者,js中最典型的是jQuery,jquery本质上是封装dom操作,简化dom操作的工具库

    2.2 框架

    框架是一套完整的解决方案,使用框架是需要遵循框架的规则,将代码放入框架的合适位置,框架在合适的时候调用代码。代表Vue。一种框架会规定自己的编程方式,侵入性较高。

    3. MVVM

    MVVM,一种更好的UI模式解决方案,MVVM通过数据双向绑定让数据自动地双向同步

    标题 解释
    MVVM
    M-V-VM
    M Model数据模型,json格式的数据
    V view视图,JSP,HTML
    VM ViewModel视图模型,把Model和View关联起来的就是ViewModel,ViewModel负责把Model的数据同步到View显示出来, 还负责把View的修改同步回Model
    虽然没有完全遵循MVVM模型,Vue的设计无疑受到了它的启发。另外一个js框架“knockout”完全遵循MVVM模型
    学习Vue要转化思想:“不要在想着怎么操作DOM,而是想着如何操作数据!!!”

    4. 安装vue

    cdn下载(需要网络)
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    
    <!-- 生产环境版本,优化了尺寸和速度 -->
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>
    
    手动下载
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="dist/vue.js"></script>
    
    <!-- 生产环境版本,优化了尺寸和速度 -->
    <script src="dist/vue.min.js"></script>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    CDN加速
    CDN的全称是Content Delivery Network,即内容分发网络,CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。CDN加速主要是加速静态资源,如网站上面上传的图片、媒体,以及引入的一些Js、css等文件。CDN加速需要依靠各个网络节点,例如100台CDN服务器分布在全国范围,从上海访问,会从最近的节点返回资源,这是核心。CDN服务器通过缓存或者主动抓取主服务器的内容来实现资源储备。CDN基本原理:将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。
    CDN部署在网络提供商的机房,是用户在请求网络服务的时候,可以从距离最近的网络提供商机房获取数据。
    最大的优势就是可以让用户就近访问资源.

    BootCDN
    BootCDN是Bootstrap中文网支持并维护的前端开源项目免费CDN服务,致力于为Bootstrap、jQuery、Angular、Vuejs一样优秀的前端开源项目提供稳定、快速的免费 CDN 加速服务

    官网 https://www.bootcdn.cn/

    5.开发示例

    vue有两种开发方式,一种是直接页面开发,一种是工程级开发,本示例使用的是直接页面开发方式。

    5.1 vue实例

    每个Vue应用都是通过用Vue构造器创建一个新的Vue实例开始的。
    需要给vue指定一个内容管理区,通常我们也把它叫做边界,这意味着我们接下来的改动全部在指定的div内,div外部不受影响。
    双花括号叫做插值

    <div id="app">
        <h1>{{msg}}, {{ts}}</h1>
    </div>
    //创建vue实例
    var vm = new Vue({
        //指定管理区域
        el: '#app',
        data: {
            msg: 'hello vue'
        }
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    可以将div中的id属性改一个名称,查看一下信息是否还能正常输出,体会一下vue内容管理区的概念还特点。

    data属性既可以是一个json对象也可以是一个函数,如:

    var vm = new Vue({
        el: '#app',
        data: function(){
            return {
                msg: 'hello vue',
                ts: new Date().getTime()
            }
        }
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    注意:data在组件开发中的写法必须是函数。

    5.2 绑定事件

    vue指令:指的是是带有“v-”前缀的特殊属性
    vue实例的methods用来定义交互事件使用的函数,函数名不限制
    示例:

    var vm = new Vue({
        el: '#app',
        
        data: function(){
            return {
                msg: 'hello vue',
                ts: new Date().getTime()
            }
        },
        
        //定义交互事件
        methods: {
            clickme: function(){
                console.log('点到我了');
            }
        }
    });
    <div id="app">
        <h1>{{msg}}, {{ts}}</h1>
        <!-- v-on:  vue绑定事件的处理函数的方式 -->
        <button v-on:click="clickme()">点我试试</button>
    </div>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    打开开发者工具,点击按钮,在console中查看点击事件的效果。

    5.3 Vue双向数据绑定

    双向数据绑定,指的是数据的改变会引起dom的改变,dom的改变也是引起数据的改变。
    示例:

    <div id="app">
        <input type="text" v-model="msg"  @keyup="change()">
        <button  v-on:click="setVal">改变值</button>
    </div>
    var vm = new Vue({
        //指定vue实例的管理区域,也叫边界
        el: "#app",
    			
        data: function() {
            return {
                msg: 'hello vue'
            }
        },
        
        methods: {
            change: function() {
                console.log(this.msg);
            },
            setVal: function() {
                this.msg = 'hello hello';
            }
        }
     });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    打开开发者工具,在文本框中输出数据,观察console中的输出,可以看到数据双向绑定的效果。

    注意点

    • 只有当实例被创建时已经在data中存在的属性才是响应式的
    • 用v-model指令在表单控件元素上创建双向数据绑定
    • this在methods属性的方法里指向当前Vue实例,如果需要外部访问可以使用vm.name/vm.$data.name的方式
    • 用v-once指令进行单向绑定,一般不用
    • console对象可以使用printf风格的占位符。只支持字符(%s)、整数(%d或%i)、浮点数(%f)和对象(%o)四种
    • Vue实例还暴露了一些有用的实例属性与方法。它们都有前缀$,以便与用户定义的属性区分开来

    6. Vue生命周期钩子

    生命周期钩子示例已经在资料中提供,将demo4.html拷入项目即可。通过该示例了解vue常用的生命周期钩子,及其作用。
    每个Vue实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到DOM并在数据变化时更新DOM等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。

    生命周期函数:
    在这里插入图片描述

  • 相关阅读:
    Unity Xlua热更新框架(五):Lua和UI管理
    【JUC】ThreadLocal
    gitLab上传项目代码
    SpringBoot使用配置文件若干方式
    【MyBatis-Plus】CRUD 操作
    MYSQL
    93.(cesium篇)cesium动态单体化-倾斜摄影(楼栋)
    Java&Springboot&MYSQL装修选购网站99192-计算机毕业设计项目选题推荐(附源码)
    Java版工程行业管理系统源码-专业的工程管理软件- 工程项目各模块及其功能点清单
    java类比C++的STL库
  • 原文地址:https://blog.csdn.net/weixin_73817220/article/details/133894120