入门Vue2 01 前端核心分析、HelloVue

1.1 前端核心分析


Vue 是一套用于构建用户界面的 渐进式框架,发布于 2014 年 2月。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库(vue-router:跳转 vue-resource:通信 vuex:管理) 或 项目整合。

它遵守Soc(关注点分离)原则,也就是说 我就管 视图层。就写界面。哈哈 ~

CSS预处理器

CSS 预处理器 定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进行 CSS 的编码工作即可。说白了就是:“用一种专门的编程语言,进行 Web 页面样式设计,再通过编译器转化为正常的 CSS 文件。这样的话 CSS 就不是固定写死的了。”

常用的 CSS 预处理器有:

  • SASS:基于 Ruby,通过服务端处理,功能强大。解析效率高,需要学习 Ruby 语言,上手难度 高于 LESS。
  • LESS:基于 NodeJS,通过客户端处理,使用简单方便。功能比SASS简单,解析效率也低于SASS,但是目前来看,在实际开发中足够了。所以现在大多数用的 预处理器 都是 LESS。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

MVVM 模式的实现者

  • Model:模型层,在这里表示 JS 对象。
  • View:视图层,在这里表示 DOM(HTML 操作的元素)
  • ViewModel:连接视图和数据的中间件,Vue.js 就是 MVVM 中的 ViewModel 层的实现者。

在 MVVM 架构中,是不允许 数据 和 视图 直接通信的,只能通过 ViewModel 来通信,而 ViewModel 定义了 一个 Observer 观察者。

  • ViewModel 能够观察到数据的变化,并对视图对应的内容进行更新
  • ViewModel 能够监听到视图的变化,并能够通知数据发生改变

至此,我们就明白了,Vue.js 就是一个 MVVM 的实现者,它的核心 就是 实现了 DOM 监听 与 双向数据绑定。

为什么要使用 Vue.js

  • 轻量级,体积小时一个重要的指标。 Vue.js 压缩后只有 20+ kb(Angular 压缩后 要 56+ kb、React 压缩后都要 44+ kb)
  • 移动端优先。更适合做当下最流行的移动端。比如说 移动端 Touch 事件的支持。
  • 易上手,学习曲线平稳,文档齐全。
  • 洗去了 Angular(模板化)和 React(虚拟 Dom)的长处,并拥有自己独特的功能。如:计算属性。
  • 开源,社区活跃度很高很高!

1.2 HelloVue

  1. IDEA 安装 Vue 插件

在这里插入图片描述
可能需要重启 一下 IDEA,才会生效。如果还不生效!那么就直接新建一个 a.vue 的文件。它就刷新自动识别了。
在这里插入图片描述

在这里插入图片描述
2. 利用 cdn 导入 Vue.js 并且使用!

切记:Vue3 的语法 和 Vue2 略有不同。

而且学习 Vue 最好 先从 Vue2 学起。然后 去学 Vue3。

<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.13/vue.js"></script>

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<div id="app" v-cloak>{{message}}</div>

<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.13/vue.js"></script>
<script>
    let vm = new Vue({
       el: "#app",
       data: {
           message: "hello,vue!"
       }
    });
</script>

</body>
</html>

在这里插入图片描述
3. 测试 数据的双向绑定

我们 直接可以 在 控制台 改变 变量 vm 的 message 值。然后你会发现惊奇的一幕。前端的值 居然 不刷新,也没有用 AJAX 就改变了。卧槽?

在这里插入图片描述


1.3 MVVM

在这里插入图片描述

为什么要使用 MVVM

MVVM 模式 和 MVC 模式是大差不差的。主要目的其实就是 分离 视图和模型!这样做的话,会有如下好处!

  • 低耦合:视图 可以独立于 Model 变化和修改,一个 ViewModel 可以绑定到不同的 View 上,当 View 变化的时候,Model 可以不变,当 odel 变化的时候,View 也可以不变。说人话就是互不影响,这个数据取过来是啥就是啥。类似于后端的变量一样。只负责拿到数据和更改数据,设置数据等。其它的东西变不变 无所谓,跟人家也没关系。当然它也影响不了别的东西 。
  • 可复用:你可以把一些 视图逻辑放在一个 ViewModel 里面。让很多的 View 重用这段 视图逻辑。
  • 独立开发:开发人员 可以 专注于 业务逻辑 和 数据的开发(ViewModel),而并非 考虑什么请求,更新什么数据,什么异步乱七八糟的事情。设计人员完全可以专注于 页面的设计。
  • 可测试:界面的话 测试一直都很难,而现在 测试 直接可以 针对 ViewModel 来写。

视图状态和行为 都封装在了 ViewModel 里面,这样的封装使得 ViewModel 可以完整地取描述 View 层。由于实现了 双向绑定,ViewModel 的内容会实时展现在 View 层,这是非常激动人心的创新革命。前端开发者再也不必低效率又麻烦地去操纵 DOM 去更新视图了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值