Vue的优缺点
使用vue.js做开发快两年了,对vue的优缺点有一点自己的见解,跟大神比不了,但是面试基本够用
vue在国内能被广泛使用的首要原因是它是基于mvvm框架做开发的,mvvm是前端开发中一种很有影响力的模式,在mvvm中,m代表model 即模型,model中集中粗出变量以及变量的值,v代表view 即视图,集中存储html和css,vm是二者名字的结合,viewmodel,我猜测这样命名应该是找不到合适的名字替代了~~,很多人沿用mvc的controller对mvvm的vm进行中文命名,mvc也是控制器,mvvm也是控制器,说起vm可老厉害了,厉害在哪呢,又是做什么的呢,vm是衔接同步view和model的数据交互控制器,源代码中的什么数据劫持,订阅者-发布者,这么复杂的定义,就留给大神和vue项目组研究吧,我们不要没研究透,反而越来越糊涂,vue有量大系统,第一,通知系统,第二,虚拟dom树,vue对象创建后,会自动引入data对象,data就是模型数据,data中的每一个变量都会自动添加两个访问器属性_set()和_get(),调用变量实际上是调用的访问器属性,当数据发生变化后,就会调用访问器属性,调用访问器属性就会触发通知系统,vm获得通知后就对虚拟dom树进行遍历,并修改需要修改的数据,然后同步到view中,这就是mvvm或者说vue事项双向绑定的原理,虚拟dom树是vm扫描真实dom树创建的一棵极其精简的dom树,只保存变化和可能变化的元素,一点多余的东西都没有,所以遍历极快,而且还封装了dom的重复的增删改查操作,所以能极大地简化代码,这个也符合vue是一个轻量级框架的名号。
vue做SPA应用的用户体验还是不错的,性能也比较好,开发起来也比较简单,也能实现前后端分离
vue的大量封装既是优点又是缺点,做seo那叫一个累啊,报错又不明显,复杂的页面代码非常累赘,加载效率么--谁用谁知道,就和用了2M的宽带似的
多提一嘴mvc和mvvm的区别吧,mvc是比较早的偏后端开发的模式,而且各做各的事,互不干扰,想做双向绑定就只能dom模拟,但是mvvm是实现了响应式的双向数据绑定的,而且还是基于mvc模式演变出来的,你能做的我也能做,你没实现的我却能实现,所以mvvm模式更受前端市场的欢迎!
面试够用,大神手下留情~~
转载的麻烦贴的原地址哈,尊重一下他人劳动成果!
Vue的优缺点的更多相关文章
- jQuery的优缺点,与vue的不同,vue的优缺点?
jq优点: 比原生js更易书写, 封装了很多api, 有丰富的插件库; 缺点: 每次升级与之前版本不兼容, 只能手动开发, 操作DOM很慢, 不方便, 变量名污染, 作用域混淆等. vue优缺点: 双 ...
- react 和 vue 的优缺点总结
React推广了Virtual DOM并创造了新的语法——JSX,JSX允许开发者在JavaScript中书写HTML Vue使用模板系统而不是JSX,但能对现有应用的升级更加容易,这是因为模板用的就 ...
- Vue面试题整理
1:什么是MVVM MVVM是是Model-View-ViewModel的缩写,Model代表数据模型,定义数据操作的业务逻辑,View代表视图层,负责将数据模型渲染到页面上,ViewModel通过双 ...
- vue问题整理
生命周期面试题 1.什么是 vue 生命周期 vue 实例从创建到销毁的过程就是生命周期. 也就是从开始创建.初始化数据.编译模板.挂在 dom -> 渲染.更新 -> 渲染.卸载等一系列 ...
- Vue2.0+Node.js+MongoDB全栈打造商城系统 免费下载
<ignore_js_op> 课程目录||--第01章 课程介绍| 01-01 课程-导学.mp4| 01-02 前端框架回顾.mp4| 01-03 vue概况以及核心思 ...
- 2018VUE面试题总结
Vue面试题 一:什么是MVVM MVVM是是Model-View-ViewModel的缩写,Model代表数据模型,定义数据操作的业务逻辑,View代表视图层,负责将数据模型渲染到页面上,Vie ...
- Web前端面试题整合,持续更新【可以收藏】
饭后闲来无事,把这几年带学生用的一些面试题整合一下,供上!拿走,不客气!应付一般公司的二面基本上是够用了.祝你早日拿到心仪的offer. css相关 1. 万能居中 1.margin: 0 auto; ...
- legend2---开发日志7(vue的使用场景有哪些,或者说使用的优缺点)
legend2---开发日志7(vue的使用场景有哪些,或者说使用的优缺点) 一.总结 一句话总结:任何页面都可以使用vue,尤其是有交互的或者用ajax的,但是vue插件及其它各种插件加载需要时间, ...
- vue中axios配置代理的俩种方式及优缺点
概述:Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 当我们使用vue向服务器发送AJAX请求时,我们会遇到跨域问题,一般跨域的解决方案有俩种,一种是官 ...
随机推荐
- Springboot开启事务的支持
主要分为两步 步骤一.在main方法加上@EnableTransactionManagement注解: @SpringBootApplication @EnableTransactionManagem ...
- C# ASP 上传/下载文件
1. 上传文件前台页面 <div style="padding-left:20px;"> <asp:FileUpload ID="FileUpload ...
- 精讲RestTemplate第6篇-文件上传下载与大文件流式下载
本文是精讲RestTemplate第6篇,前篇的blog访问地址如下: 精讲RestTemplate第1篇-在Spring或非Spring环境下如何使用 精讲RestTemplate第2篇-多种底层H ...
- JavaScript在HTML中的基础用法总结
网页主要由三部分组成,分别为html.CSS和Javascript.如果说HTML是肉身,CSS是皮相,那Javascript就是灵魂.因此,三者的联系与融合则至关重要.本文就来为大家讲解一下Java ...
- 【异常检测】孤立森林(Isolation Forest)算法简介
简介 工作的过程中经常会遇到这样一个问题,在构建模型训练数据时,我们很难保证训练数据的纯净度,数据中往往会参杂很多被错误标记噪声数据,而数据的质量决定了最终模型性能的好坏.如果进行人工二次标记,成本会 ...
- linux上传下载小工具lrzsz
工具压缩包链接 密码:zbef 1.将压缩包放到linux的任意目录下,执行:tar zxvf lrzsz-0.12.20.tar.gz 解压压缩包 2.cd lrzsz-0.12.20 3../co ...
- 防止用户利用PHP代码DOS造成用光网络带宽
用PHP代码调用sockets,直接用服务器的网络攻击别的IP,常见代码如下: 代码如下:$packets = 0; $ip = $_GET[\'ip\']; $rand = $_GET[\'port ...
- shell 三剑客之 sed
sed 在shell 编程里也很常用,功能强大! 同grep一样,sed提供两种方式: 方式一:stdout | sed [option] "pattern command" 从文 ...
- Python输入input、输出print
1.输入input input是用于输入数据给变量.通过键盘输入的是字符串,如果需要其他格式,需要做转换.比如int.float类型数据,int() 如下是一个例子: 如果a不进行int转换,那么输入 ...
- 修改docker0网桥的IP段
关闭docker进程 systemctl stop docker 修改/etc/docker/daemon.json { "bip": "100.96.2.1/24&qu ...