vue

为什么要用vue

传统的网页形式是浏览器脚本语言js连接了各种各样的Html,css,但缺乏正规的组织形式,比如在页面元素非常多,结构很庞大的网页中,数据和视图如果全部混杂在一起,像传统开发一样全部混合在HTML中,那么要对它们进行处理会十分的费劲,并且如果其中有几个结构之间存在藕断丝连的关系,那么会导致代码上出现更大的问题,比如juqery中使用的$('#xxx').parent().parent().parent()

一开始很容易找到,但是当页面结构改变时,也就是说,DOM关联和嵌套级别将改变,那么先前的代码可能会变成这样:

$('#xxx').parent().parent().parent().parent().parent()

产品迭代后,dom节点的搜索操作会造成很大的性能损失。

Vue是一个友好,和高性能的js框架,可以帮助您创建更可维护和可测试的代码库。官方网站描述了Vue的优点,如下所示:

1.易于使用:

学习曲线平缓,API简单易用。学习过程比做出反应容易,但没有那么痛苦

2.灵活:

如果您已经有了现成的服务器端框架,则可以将vue嵌入其中,以带来更丰富的交互式系统,或者您想在前端实现更多业务逻辑,则将其核心vue图书馆及其生态系统也可以满足您的各种需求。 Vue允许您将网页分为可重用的组件。每个组件可以包含自己的html,css,js文件来呈现相应的网页。本地的。

3.高效:

虚拟dom:所有数据都在内存中,只有js引擎参与其中

真实的dom将在其中包含浏览器呈现层

您知道浏览器的虚拟DOM与实际DOM之间的区别(注意:虚拟DOM的需求实际上与框架的DOM操作机制有关):

虚拟DOM将不执行排版和重绘操作

经常对虚拟DOM进行修改,然后一次比较并修改真实DOM中需要修改的部分(请注意!),最后在真实DOM中进行排版和重绘以减少布局的损失并重新绘制过多的DOM节点

频繁排版和重绘真实DOM的效率很低

虚拟DOM有效地减少了大区域(真实DOM节点)的重绘和排版,因为最终的差异与真实DOM进行了比较,并且只能呈现其中的一部分(与2)相同

使用虚拟DOM损失计算:

总损失=虚拟DOM添加,删除和修改+(与Diff算法的效率有关)实际DOM差异添加,删除和修改+(较少的节点)排版和重绘

直接使用真实的DOM损失计算:

总损失=完全添加,删除和修改了真正的DOM +(可能有更多的节点)排版和重绘。只能说虚拟DOM在某些情况下只会减少对真实DOM的操作次数。

虚拟DOM只是一个JavaScript对象

它将在比较之后选择要更新的DOM,而不是在某些情况下删除所有DOM并进行重建。

在获取/修改大量DOM元素时,它将首先比较虚拟DOM中的值。

虚拟dom是在内存中维护的dom树,它是物理dom之上的抽象层。在此抽象级别上,无论是查询操作还是修改操作,都将首先操作内存中的虚拟dom。在此过程中,可以进行许多优化以减少实体dom的操作。举两个例子,1.查询文本标签的值,可以直接从虚拟dom中找到它,而根本不查询实体dom。 2.在一项操作中,要修改列表中的两个记录,要修改的元素将首先将更改同步到虚拟dom,然后基于最新的虚拟dom一次渲染最终的物理dom。如果没有虚拟dom,则对两个记录的修改必须对应于对实体dom的至少两个操作。显然,实体dom操作越频繁,网页速度就越慢。

关于vue.js的虚拟DOM,目前在业界有不同的评论。有人认为Vue.js是一个轻量级的框架。虚拟DOM的引入将增加Vue.js本身的代码大小,并且还将消耗更多的CPU(手机上的更多功率)(注意:更多的CPU消耗不会增加它的消耗,这意味着它会更困难,因为JavaScript计算是后台计算,并且其计算不足以使DOM操作变得滞后),并且当操作单个DOM元素时,还有一个额外的计算过程,该过程会更慢。但是有人认为,基本上将使用Vue.js开发的元素是页面中的许多元素,并且必须操作的DOM通常规模很大,并且平均而言更具成本效益。

4.丰富的社区和第三方组件库

社区

论坛()-提问的最佳场所。

Gitter()-开发人员。您可以在这里提问,但是最好在论坛中提问,因为该论坛有多个部分。

Github()-报告问题,提交请求,并感谢您的贡献!

vue组件库:

element-ui薄荷UI

muse-ui

什么是vue

1. Vue.js(发音为/vjuː/,类似于view)是用于构建用户界面的渐进框架。

这里的渐进式框架也是上述Vue的灵活功能之一。使用Vue,您可以使用它在原始大型系统之上实现一个或两个组件,并将其用作jQuery。您也可以将其用于整个家庭。使用Angular时的存储桶开发;

例如,在开始使用数据绑定来形成表单时,然后控制整个页面的dom,然后使用路由器控制单页面应用程序的路由,组件协调,vuex和数据协调等使用vue,您可以使用原始版本。在大型系统的顶部,可以代替实现一个或两个组件,并将它们用作jQuery;您还可以将其作为整个系列的存储桶用于Angular开发。

2. Vue仅关注视图层,并采用了自下而上的增量开发设计。

查看图层:

HTML中的DOM实际上是视图。网页通过DOM的组合和嵌套形成最基本的视图结构,然后通过CSS的修改,基本的视图结构是“组成”,使它们看起来更漂亮。最后,涉及到交互部分,您需要使用JavaScript来接受用户交互请求,并通过事件机制响应用户交互,并在事件处理功能中修改各种数据,例如修改DOM,innerHTML或innerText。部分。

我们可以将HTML中的DOM与其他部分分开,将其划分为一个级别,该级别称为视图层。

MVVM

是Model-View-ViewModel的缩写,由三部分组成:Model,View和ViewModel。模型层代表数据模型,也可以在模型中定义数据修改和操作的业务逻辑;视图表示UI组件,负责将数据模型转换为UI并显示。 ViewModel是一个用于同步View和Model的对象。它是基于前端开发的体系结构模型。其核心是提供与View和ViewModel的双向数据绑定,这使ViewModel的状态更改能够自动传输到View,即所谓的双向数据绑定。

Vue.js是一个Javascript库,提供了MVVM风格的双向数据绑定,重点是View层。它的核心是MVVM中的VM,即ViewModel。 ViewModel负责连接View和Model以确保视图和数据的一致性。这种轻量级的体系结构使前端开发更加高效和便捷。

MVC

控制器负责更新模型中的数据,视图从模型中请求数据;当用户的行为触发操作时,控制器将更新模型并通知视图更新,这时视图将向模型报告请求新数据

3. Vue的目标是通过最简单的API实现响应数据绑定和组合视图组件。

响应的数据绑定:

这意味着vue.js将自动响应数据更改,并根据用户事先在代码中编写的绑定关系来修改绑定在一起的所有数据和查看内容。这种绑定关系是通过输入标签的v-model属性在图上声明的,因此您可能还会看到人们粗略地将vue.js称为模板引擎,用于在其他地方进行声明式渲染。

vue.js测试 -


{{ message }}

var app = new Vue({

el: '#app',

data: {

message: 'Hello Vue!'

}

})

组合视图组件:

Vue.js使用组件将单页应用程序中的各个模块拆分为一个组件(组件),我们只需要在父应用程序中编写各种组件标签(占坑),然后编写要传递到组件标签中组件的参数(就像将参数传递给函数一样,此参数称为组件的属性),然后编写各种组件的实现(填充孔)。

组件可以自由组合以形成功能齐全的接口。当不需要组件或要替换组件时,可以随时替换和删除它,而不会影响整个应用程序的操作(组件化)

组件化的优势:

提高开发效率

易于重用

简化调试步骤

提高整个项目的可维护性

易于协作开发

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/shumachanpin/article-344717-1.html

html多个子页显示在一个页面,html多个html页面嵌套在一起相关推荐

  1. vue2自定义分页组件,可设置每页显示数量,指定跳转具体页面

    https://blog.csdn.net/yangwei282367751/article/details/82722840 分页组件 <template>   <div> ...

  2. html中显示页面布局,如何让打开的网页显示在一个页面上

    怎么把打开的网页并排显示在一个浏览器上 打开IE网页中"工具",选择"Internet选项",里面有人选项卡,选择"设置",然后在选项,遇到 ...

  3. 计算机页面新建,电脑PS如何新建多个画布并使其显示在一个界面

    电脑PS如何新建多个画布并使其显示在一个界面 腾讯视频/爱奇艺/优酷/外卖 充值4折起 PHOTOSHOP就是我们平时所说的PS了.今天小编跟大家分享 的是电脑PS如何新建多个画布并使其显示在一个界面 ...

  4. latex 分页_latex 图片跨页显示问题???

    latex 中一个页面有很多图片,超出一页就显示不出来了:请问怎么让后续图片显示在一个新页面中? 图片显示代码如下每行显示三张: \begin{figure} \centering \includeg ...

  5. 字符定长文件Linux怎么生成,Linux中的more命令-逐页显示长文本文件

    如果你已经习惯了在Linux系统上工作,那你一定会发现在Linux世界中存在着大量的文本文件.配置文件和日志文件通常都采用文本格式.这些文件通常都有很长的内容,不能在一屏内全部显示.所以在处理这种文件 ...

  6. datatables每页显示数据刷新后不变_2019北京积分落户名单数据的一些分析

    2020,新一波北京积分落户又开始了. 在此,奉上去年闲来无事分析的19年北京积分落户的一些公开数据,把握一下猴年马月才能中标的趋势. 前半部分主要是技术环节,心急的可以直接跳到后半部分看具体的数据分 ...

  7. Word如何让不同页显示不同的页码,页眉

    一,让不同页显示不同的页码,页眉,关键是使用分节符对页面进行分节,这样不同的节,就可以设置不同的页码,页眉. (1)"下一页"."连续"."奇数页&q ...

  8. 在浏览器的标签页显示网站标志图标

    一.在浏览器的标签页显示网站标志图标 我们通常希望将浏览器里的Tab选项卡的图标换成自己网站的logo图片,这样看起来更真实和有信任感,可以在<head></head>中添加l ...

  9. 若依 vue前端 动态设置路由path不同参数 在页面容器里打开新页面(新路由),面包屑和标签页标题根据参数动态改变,面包屑多级标题,侧边栏对应菜单亮起

    前言 因为是在vue源码的基础上进行修改,所以,就没有复制代码在文章上,采取的是截图对比源码和我修改的代码片段.要麻烦你们自己手敲了. 先来看看效果: 场景:在费用配置列表中,点击每一项的配置,都会在 ...

  10. html 网页 简体中文 繁体中文 英文自适应,css页面字体替换源代码和页面显示不一样问题解决...

    2018年8月27日19:58:12 css指定字体的时候,可以自制的字体,比如字符替换,比如 0没有被替换,其他在源代码被替换对应的字母,但是现实的时候在替换成正确的数字 很简单,防爬虫,但是... ...

最新文章

  1. NYOJ72Financial Management
  2. colpick-jQuery颜色选择器使用说明
  3. oracle 格式化报表输出,perl的格式化(Format)报表输出实现代码
  4. UI设计实用素材|闪屏模板
  5. D3 BarChart
  6. Android学习笔记---27_网络通信之通过GET和POST方式提交参数给web应用,以及使用httpClient,来给web项目以post方式发送参数
  7. 1080. MOOC期终成绩 (25)-PAT乙级真题
  8. xxx.pch(No such file or directory)
  9. pythonide的作用_你知道Python神器IDE是什么吗?
  10. Series的idxmax和argmax
  11. IntelliJ 中类似于Eclipse ctrl+o的是ctrl+F12
  12. Python制作2048小游戏
  13. java求两点坐标间的距离
  14. CCC中国强制性产品认证目录已公布 共17大类103种产品
  15. 清华大学信息 计算机科学与技术,清华大学计算机科学与技术系导师简介:陈渝...
  16. 作业:欧拉公式以及凉鞋问题
  17. Windows API 教程(七) hook 钩子监听
  18. 第二次作业-语言和文法
  19. ElasticSearch集群状态异常(Red、Yellow)原因分析
  20. Helm和kustomize

热门文章

  1. 暴风播酷云J3455局域网smb传输不稳定的另一种解决方案
  2. 万邦京东获取商品历史价格信息 API
  3. 紫川歪传------------恶搞暴笑版
  4. 使用while循环实现xyz+yzz=532
  5. Windows 10 无法设置代理
  6. origin绘图软件安装包及入门使用
  7. xp系统计算机怎么连接到网络打印机,老司机教你win7如何连接共享xp打印机
  8. L1-009 N个数求和(解决测试点三错误)
  9. markdown和marktop是啥关系?
  10. 计算机系统集成工作总结,系统集成工作总结报告.docx