Vue P01-概念

前端技术的发展

从静态走向动态

  • 网页基于XML语言创造,HTML只具备文本图片的显示及页面间相互跳转
  • CGI 可以从数据库或者文件系统获取数据
    • 服务端语言的鼻祖
  • PHP、JSP、ASP等各种服务端语言层出不穷,前端网页从静态走向动态

从后端走向前端

Ajax(Asynchronous JavaScript And XML,异步JavaScript和XML)通过XMLHttpRequest对象,可以在不重载页面的情况下与Web服务器交换数据,再加上JavaScript的document对象,开发者可以很轻松的实现页面局部内容更新

Ajax的发展 推动了前后端分离

在取得一个良好定义的RESTful( Representation State Transfer,表述性状态转移 )接口后,两端甚至可以在零沟通成本的情况下并行完成项目任务

Ajax实现了无刷新的数据交互,而前端路由则实现了无刷新的页面跳转;Ajax将Web Page发展成Web App,而前端路由则给了Web App 更多的可能, 如SPA ( Single Page Application,单页面应用)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R7jFxqZE-1657767718458)(C:\Users\Toreme\AppData\Roaming\Typora\typora-user-images\image-20220315213709828.png)]

Now很多web项目采用这样的架构,后台只负责数据的存取和组装,而前端则负责业务逻辑层和视图层的全部工作

从前端走向后端

2009年5约Node.js发布,Javascript也占据了服务端编程语言的一席之地。前端工程师可以很低的成本用Node.js和MongoDB搭建一个后台

MVVM族员——Vue.js

模型-视图-视图模型(Model-View-ViewModel,MV VM)

本质上是MVC(模型-视图-控制器)的改进版

最重要的特性是数据绑定(data binding),此外还包括依赖注入、路由配置、数据模板等一些特性

从MVC到MVVM

MVVM的主要目的是分离视图和模型

ViewModel层封装了界面展示和操作的属性和接口

通过数据绑定,我们可以将View和ViewModel关联在一起,当ViewModel中的数据发生改变时,View也会同步更新

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uoOKa6iA-1657767718460)(C:\Users\Toreme\AppData\Roaming\Typora\typora-user-images\image-20220315215227092.png)]

Vue.js简介

Vue的核心库只关注视图层,并且提供尽可能简单的API以实现数据绑定、组件复用等机制,且非常容易学习并混入其他库

同时,Vue也完全有能力支持采用SPA设计和组合其他Vue生态库的系统

Vue与React

虚拟DOM

功能性组件

Vue比React的速度更快一些,这是因为React中有大量用于提供警告和错误提示信息的检查机制

轻量级–将与核心库无关的业务封装成独立库

都将重点放在核心库上,也都有专门负责路由和全局状态管理等功能配套库。

React:React Router/ Redux

VUe: Vue Router/ Vuex

视图模板

React采用JSX渲染组件

class HelloMessage extends React.Component {
render() {
return (
<div>
Hello {this.props.name}
</div>
);
}}
ReactDOM.render(
<HelloMessage name="Taylor" />,
mountNode
);

Vue采用模板

<template>
<div class="demo-title">{{title}}</div>
</template>
<script>
export default {
data () {
return {
title: 'Hello World'
}
}
}
</script>
<style scoped>
.demo-title {
font-size: 24px;
font-weight: 600;
}
</style>

在Vue模板的style标签上标注scoped属性可划分作用域,使CSS样式表只作用于当前组件

其他

vue的状态管理库vuex和路由库vue-router都是由官方维护更新,从而保证了这些库与Vue本身的统一性。而React的相关库则由社区进行维护,不过,这也使得React的社区生态更加繁荣一些

Vue提供了项目快速构建工具–vue-cli脚手架,提供了包含npm依赖管理、webpack模块打包、vue-router前端路由、eslint语法检测、单元测试等集成功能,能够让开发者快速构建一个高质量的项目环境。

Vue和Angular

模块语法

脏检测

Vue的处理方式是全局只设置了一个watcher,用这一个watcher来记录和更新一组关联对象的值,从而回避了脏检测的问题

双向数据绑定

  • 单向数据绑定
  • 双向数据绑定
    ngular

模块语法

脏检测

Vue的处理方式是全局只设置了一个watcher,用这一个watcher来记录和更新一组关联对象的值,从而回避了脏检测的问题

双向数据绑定

  • 单向数据绑定
  • 双向数据绑定
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Toreme

随缘喜赞

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值