vue入门

目录

1.1 什么是vue

2. 库和框架的区别

2.1 库

2.2 框架

2.1为什么要使用vue?

3.mmvm

4. 安装vue

4.1vue操作数据

5.数据绑定事件

6.双向数据绑定

7.vue生命周期函数:


1.1 什么是vue

vue官网 Vue.js - 渐进式 JavaScript 框架 | Vue.js

 vue是一个构建用户界面UI的渐进式javascript框架,渐进式的框架是指可以一步一步的由浅入深的去使用这个框架,该框架可以逐步引入项目,总的来说,它是我们做前端的框架。

2. 库和框架的区别

2.1 库

本质上是一些函数的集合。每次调用函数,实现一个特定的功能,接着把控制权交给使用者,js中最典型的是jQuery,jquery本质上是封装dom操作,简化dom操作的工具库。但是JQuery提高的是你的工作效率,并不是代码的运行效率

2.2 框架

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

个人理解:上面我们都说过了,使用库的时候我们比较随意,想用哪取哪,哪块好用哪,而且把它拿过来可以按照我们的编写意愿来用。但是框架就不一样,我们好像被它控制着,要使用它,就得听它的,按照它的规则来,即使它某些地方我们用不到,或者不喜欢,也不能说什么。

2.1为什么要使用vue?

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

2.更高的运行效率 cdm加速:让用户就近访问资源,根据你的ip地址,访问你就近区域的服务器。举个例子,你人在湖南,想要访问京东去gosopping,访问会访问湖南的服务器,不会访问河南的服务器。就近访问服务器原则 。

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

3.mmvm

实现模型视图双向绑定让数据自动地双向同步

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

标题解释
MVVMM-V-VM
MModel数据模型,json格式的数据
Vview视图,JSP,HTML(用户看的见的)
VMViewModel视图模型,把Model和View关联起来的就是ViewModel,ViewModel负责把Model的数据同步到View显示出来, 还负责把View的修改同步回Model

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

jquery与vue操作页面异同

jqeury是javaScript的库,主要是操作节点的

vue是javaScript的框架,主要是操作数据的

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. 手动下载

    1. <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    ​
       <script src="dist/vue.js"></script>
    ​
       <!-- 生产环境版本,优化了尺寸和速度 -->
    ​
       <script src="dist/vue.min.js"></script>

    然后必须我们必须要将vue用script引入页面就可以直接操作vue数据了

4.1vue操作数据

 

HTML代码

双花括号叫做插值

需要给vue指定一个内容管理区,这意味着我们接下来的改动必须全部在指定的div内

<div id="app">
            <h2>{{dog}},{{ts}}</h2>
            <h1>{{6*8+1}}</h1>
            <h1>{{1*0?'1':'0'}}</h1>
        </div>

vue代码

数据模型data属性既可以是一个json对象也可以是一个函数

 <script>
            new Vue({
                el:"#app",
                data:function(){
                    return{
                        dog:"你好,vue",
                        ts:new Date().getTime()
                    }
                    }
            });
    </script>

5.数据绑定事件

<script>
   //数据模型data
var vm = new Vue({
    el: '#app',
    data: function(){
        return {
            msg: 'hello vue',
        }
    },
    methods: {
        clickme: function(){
            console.log('点到我了');
        }
    }
});
</script>

 6.双向数据绑定

模型data与视图改变而改变。

当用户点击按钮button时,就将msg重新赋值

HTML代码

@keyup是键盘点击事件

v-model进行双向数据绑定

<div id="app">
        <h1>{{msg}}</h1>
          <input type="text" v-model="msg" @keyup="change()" />
          <button @click="setVal()">点我试试</button>
    </div>

vue代码

<script>
            var vm = new Vue({
                el: '#app',
                data: function(){
                    return {
                        msg: '初始化模型'
                    }
                },
                methods:{
                    change:function(){
                        console.log(this.msg)
                    },
                    setVal:function(){
                        this.msg="点到我了"
                    }
                }
                
            });
        </script>

效果展示

 7.vue生命周期函数:

名称作用
beforeCreate第一个生命周期函数,表示实例完全被创建出来之前,会执行它。 注意: 在 beforeCreate 生命周期函数执行的时候,data 和 methods 中的 属性与方法定义都还没有没初始化
created第二个生命周期函数,在 created 中,data 和 methods 都已经被初始化好了! 如果要调用 methods 中的方法,或者操作 data 中的数据,最早,只能在 created 中操作
beforeMount第三个生命周期函数,表示 模板已经在内存中编辑完成了,但是尚未把模板渲染到页面中。在 beforeMount 执行的时候,页面中的元素,还没有被真正替换过来,只是之前写的一些模板字符串
mounted已经渲染到页面了,用户可以能看的视图了,当执行完 ##mounted 就表示,vue实例已经被完全创建好了
beforeUpdate这时候,表示 我们的界面还没有被更新
updatedupdated 事件执行的时候,页面和 data 数据已经保持同步了,都是最新的
beforeDestroy销毁之前执行,当beforeDestroy函数执行时,表示vue实例已从运行阶段进入销毁阶段,vue实例身上所有的方法与数据都处于可用状态
destroyed当destroy函数执行时,组件中所有的方法与数据已经被完全销毁,不可用
activated页面出现的时候执行 activated生命周期函数,跟 监听 watch 有类似的作用
deactivated页面消失的时候执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值