Vue第一天---Vue简介

简介: Vue第一天---Vue简介

Vue简介


1.什么是Vue.js


Vue.js是一款用于构建用户界面的渐进式框架;Vue被设计为自下向上逐层应用。Vue.js的核心库只关注视图层。Vue的目标是通过尽可能简单的api实现响应的数据绑定和组合的视图组件。


2. MVVM模式


MVVM是Model View ViewModel的简写,实质上是MVC的改进版,目的是将其中View的状态 以及行为抽象化,将视图UI和业务逻辑分开。ViewModel可以取出Model的数据,同时帮助处理View中由于需要展示内容而涉及到的业务逻辑。

优点:


  • 低耦合 View可以独立于Model的变化和修改
  • 可重用性 可以将一些视图逻辑放在一个ViewModel中,让很多View重用这段视图逻辑
  • 独立开发 开发者专注于业务逻辑和数据开发,设计人员专注于页面设计
  • 可测试 测试可以针对ViewModel来写

MVVM模式的组成

  1. 模型:模型是指代表真实状态内容的领域模型,或指代表内容的数据访问层(以数据为中心)
  2. 视图:视图就是用户在页面看到的结构、布局、外观
  3. 视图模型:视图模型是暴露公共属性和命令的视图抽象,MVVM模式中只有一个绑定器,在视图模型中绑定器在视图和数据绑定器之间进行通信


MVVM中的双向绑定


在MVVM架构下,View和Model没有直接的联系,而是通过ViewModel进行交互;Model和ViewModel之间的交互是双向的,因此View数据的变化会同步到Model中,而Model数据的变化也会立即反映到View上。ViewModel通过双向数据绑定把View层和Model层连接起来,而View和Model之间的同步工作完全是自动的。


3. 第一个Vue实例


首先去官网下载vue.js,因为我们第一个实例是简单demo,所以不需要通过脚手架或者其他复杂工具来构建项目,仅仅只需要Vue.js和一个html

当然我们也可以通过cdn引入Vue.js


<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>`
复制代码

index.html


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello Vue</title>
    <script src="../easy_start/js/vue.js" type="text/javascript" charset="UTF-8"></script>
</head>
<body>
<div id="demo">
    {{message}}
</div>
<script type="text/javascript">
    var demo=new Vue({
        el:'#demo',
        data:{
            message:'Hello Vue'
        }
        }
    );
</script>
</body>
</html>
复制代码


这里面有一些Vue的指令使用后面会专门讲到,然后打开我们的html会看到

image.png


4.实例的生命周期


  1. beforeCreate() 创建前,在数据观测和初始化时间还未开始时被调用
  2. created() 创建后,在完成数据观测、属性和方法的运算、初始化事件后被调用,$el属性还没有显示出来
  3. beforeMount() 载入前,在载入开始前被调用,相关的render函数首次被调用;实例已完成以下配置:编译模版,把data中的数据和模版生成.html,但是此时还没有挂载.html到页面上
  4. mounted() 载入后,在el被新创建的vm.$el替代,并挂载到实例上后被调用。实例已完成以下配置:用上面编译好的.html内容替换el属性指向的DOM对象,此时模版中的.html被渲染到.html页面中,此过程中进行Ajax交互
  5. beforeUpdate() 更新前,在数据更新前被调用,发生在虚拟DOM重新渲染和打补丁前。
  6. updated() 更新后,在由于数据更改导致的虚拟DOM重新渲染和打补丁后被调用。调用时,组件DOM已经更新,所以可以执行依赖于DOM的操作(但是为了防止更新无限循环还是避免在此期间更改状态)
  7. beforeDestroy() 销毁前,在实例销毁前被调用,实例仍然完全可用
  8. destroyed() 销毁后,在实例被销毁后被调用,调用后所有的事件监听器会被移除、所有的子实例也会被销毁。
目录
相关文章
|
4天前
|
JavaScript 前端开发 网络架构
vue 路由器history和hash工作模式
vue 路由器history和hash工作模式
|
3天前
|
缓存 监控 JavaScript
如何优化 Vue 的执行流程?
【10月更文挑战第2天】
96 59
|
1天前
|
JavaScript
Vue CLi脚手架创建第一个VUE项目
Vue CLi脚手架创建第一个VUE项目
14 3
|
1天前
|
JavaScript
【小白懂系列】Vue CLi脚手架创建第一个VUE项目
【小白懂系列】Vue CLi脚手架创建第一个VUE项目
12 2
|
1天前
|
存储 消息中间件 JavaScript
vue组件传值的12种方式
【10月更文挑战第1天】
12 1
|
1天前
|
缓存 JavaScript 前端开发
qiankun 微应用vue接入到基座
【10月更文挑战第4天】
|
1天前
|
JavaScript 开发者
|
1天前
|
前端开发 JavaScript 开发者
|
1天前
|
缓存 监控 JavaScript
如何提高 Vue Render 函数的性能?
【10月更文挑战第4天】
9 0
|
1天前
|
JavaScript