0
点赞
收藏
分享

微信扫一扫

Vue介绍&如何安装vue&Vue生命周期钩子&MVVM

目录

1.vue介绍

1.1 什么是vue

1.2 vue的优点

2. 库和框架的区别

2.1 库

2.2 框架

3. MVVM

4. 安装vue

5.开发示例

5.1 vue实例

5.2 绑定事件

5.3 Vue双向数据绑定

6. Vue生命周期钩子


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模型,Vue的设计无疑受到了它的启发。另外一个js框架“knockout”完全遵循MVVM模型
学习Vue要转化思想:“不要在想着怎么操作DOM,而是想着如何操作数据!!!”

4. 安装vue

  1. cdn下载(需要网络)
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

    <!-- 生产环境版本,优化了尺寸和速度 -->
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>

  2. 手动下载
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="dist/vue.js"></script>

    <!-- 生产环境版本,优化了尺寸和速度 -->
    <script src="dist/vue.min.js"></script>

5.开发示例

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

5.1 vue实例

  1. 每个Vue应用都是通过用Vue构造器创建一个新的Vue实例开始的。
  2. 需要给vue指定一个内容管理区,通常我们也把它叫做边界,这意味着我们接下来的改动全部在指定的div内,div外部不受影响。
  3. 双花括号叫做插值
<div id="app">
    <h1>{{msg}}, {{ts}}</h1>
</div>
//创建vue实例
var vm = new Vue({
    //指定管理区域
    el: '#app',
    data: {
        msg: 'hello vue'
    }
});

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

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

var vm = new Vue({
    el: '#app',
    data: function(){
        return {
            msg: 'hello vue',
            ts: new Date().getTime()
        }
    }
});

5.2 绑定事件

  1. vue指令:指的是是带有“v-”前缀的特殊属性
  2. 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>

打开开发者工具,点击按钮,在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';
        }
    }
 });

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

6. Vue生命周期钩子

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

生命周期函数:

举报

相关推荐

0 条评论