1、前端里面常说的视图层是什么?

我们把HTML中的DOM就可以与其他的部分独立开来划分出一个层次,这个层次就叫做视图层。

Vue 的核心库只关注视图层

图1: dom对象树结构

图2:DOM和CSS 一起呈现

2、使用jquery开发完整页面的流程?

a、html写构架

b、css装饰

c、js交互

讲到JQuery,就不得不说到JavaScript的DOM操作了。如果你用JQuery来开发一个知乎,那么你就需要用JQuery中的各种DOM操作方法去操作HTML的DOM结构了。

现在我们把一个网页应用抽象一下,那么HTML中的DOM其实就是视图。

  1. 一个网页就是通过DOM的组合与嵌套,形成了最基本的视图结构 (图1: dom对象树结构)。
  2. 再通过CSS的修饰,在基本的视图结构上“化妆”让他们看起来更加美观(图2:DOM和CSS 一起呈现)。
  3. 最后涉及到交互部分,就需要用到JavaScript来接受用户的交互请求,并且通过事件机制来响应用户的交互操作,并且在事件的处理函数中进行各种数据的修改,比如说修改某个DOM中的innerHTML或者innerText部分(图3:执行 Javascript 过程)。

    图3:执行 Javascript 过程

3、Vue.js为什么能让基于网页的前端应用程序开发起来这么方便?

a、有声明式

b、响应式的数据绑定

c、组件化的开发

d、Virtual DOM

因为Vue.js有声明式,响应式的数据绑定,与组件化的开发,并且还使用了Virtual DOM这个看名字就觉得高大上的技术。

4、vue.js中常说的数据动态绑定是什么?

就是vue.js会自动响应数据的变化情况,并且根据用户在代码中预先写好的绑定关系,对所有绑定在一起的数据和视图内容都进行修改。而这种绑定关系,在图上是以input 标签的v-model属性来声明的,因此你在别的地方可能也会看到有人粗略的称vue.js为声明式渲染的模版引擎。

5、前端中为什么要组件化开发?

a、非组件化开发代码和工作量都非常大

b、修改起来生不如死

但是现在我们做单页应用,页面交互和结构十分复杂,一个页面上就有许许多多的模块需要编写,而且往往一个模块的代码量和工作量就非常庞大,如果还按照原先的方法来开发,那么会累死人。而且遇到以后的产品需求变更,修改起来也非常麻烦,生怕动了其中一个div之后,其他div跟着雪崩,整个页面全部乱套,或者由于JavaScript的事件冒泡机制,导致修改一些内层的DOM事件处理函数之后,出现各种莫名其妙的诡异BUG。

6、前端中如何进行组件化开发?

a、借用的后端的面向对象中的模块化思想(把一些大功能拆分成许多函数,然后分配给不同的人来开发)

b、把一个单页应用中的各种模块拆分到一个一个单独的组件(component)中,我们只要先在父级应用中写好各种组件标签(占坑),并且在组件标签中写好要传入组件的参数(就像给函数传入参数一样,这个参数叫做组件的属性),然后再分别写好各种组件的实现(填坑)

  • 在面向对象编程中,我们可以使用面向对象的思想将各种模块打包成类或者把一个大的业务模块拆分成更多更小的几个类。在面向过程编程中,我们也可以把一些大功能拆分成许多函数,然后分配给不同的人来开发。
  • 在前端应用,我们是否也可以像编程一样把模块封装呢?这就引入了组件化开发的思想。

Vue.js通过组件,把一个单页应用中的各种模块拆分到一个一个单独的组件(component)中,我们只要先在父级应用中写好各种组件标签(占坑),并且在组件标签中写好要传入组件的参数(就像给函数传入参数一样,这个参数叫做组件的属性),然后再分别写好各种组件的实现(填坑),然后整个应用就算做完了。

7、为什么有Virtual DOM技术?

a、问题

现在的网速越来越快了,很多人家里都是几十甚至上百M的光纤,手机也是4G起步了,按道理一个网页才几百K,而且浏览器本身还会缓存很多资源文件,那么几十M的光纤为什么打开一个之前已经打开过,已经有缓存的页面还是感觉很慢呢?

b、原因

(1)、浏览器本身处理DOM也是有性能瓶颈的

(2)、用JQuery或者原生的JavaScript DOM操作函数对DOM进行频繁操作的时候,浏览器要不停的渲染新的DOM树

这就是因为浏览器本身处理DOM也是有性能瓶颈的,尤其是在传统开发中,用JQuery或者原生的JavaScript DOM操作函数对DOM进行频繁操作的时候,浏览器要不停的渲染新的DOM树,导致页面看起来非常卡顿。

Virtual Dom && Diff(迁移)

8、Virtual DOM如何实现?

a、预计算dom的各种操作,把最后一次的结果渲染出来(减少dom的渲染次数)

而Virtual DOM则是虚拟DOM的英文,简单来说,他就是一种可以预先通过JavaScript进行各种计算,把最终的DOM操作计算出来并优化,由于这个DOM操作属于预处理操作,并没有真实的操作DOM,所以叫做虚拟DOM。最后在计算完毕才真正将DOM操作提交,将DOM操作变化反映到DOM树上。

VUE 前端中如何进行组件化开发?相关推荐

  1. 【Vue.js 知识量化】组件化开发 + 前端模块化

    Vue.js 组件化开发 组件化 认识组件化 注册组件 全局组件和局部组件 父子组件 组件数据 父子组件的通信 父->子:props 子->父:$emit() 父子组件的访问方式 $chi ...

  2. vue设置标签自定义属性_Vue组件化开发之插槽

    插槽为组件提供了强大的扩展能力.我们可以把电脑的主板理解为一个已经封装好的组件,主板上都会预留各种插槽,我们可以往插槽中插入内存条.显卡.声卡等设备.基于同样的思想,Vue在封装组件时,也可以预留插槽 ...

  3. 前端知识-vue-3、组件化开发

    什么是组件?  1.组件注册和使用 1.注册全局组件 方式一:使用全局的Vue直接注册:Vue.component <!DOCTYPE html> <html><head ...

  4. 前端笔记:使用Web Components进行原生组件化开发

    文章目录 目的 基础说明 技术点介绍 Custom elements Shadow DOM HTML templates 整合成独立组件文件 示例演示与说明 示例一 示例二 es6-string-ht ...

  5. 【Vue】Vite 组件化开发

    文章目录 组件化开发 一.组件化开发思想 二.Vue 组件的构成 2.1 组件组成结构 2.2 组件 template 节点 2.2.1 在 template 中使用指令 2.2.2 在 templa ...

  6. python组件化软件策划_Vue组件化开发

    一. 通过axios实现数据请求 1. json简介 json是 JavaScript Object Notation 的首字母缩写,单词的意思是javascript对象表示法,这里说的json指的是 ...

  7. Vue.js组件化开发实践

    Vue.js组件化开发实践 前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了一下的内容.首先会对使用Vue进行开发的一 ...

  8. 组件化开发实战_一篇文章搞懂什么是前端“组件化”开发

    学过网页的朋友都知道,制作一个网页离不开HTML.CSS和JavaScript技术.对于初学者来来说,掌握这3门技术就已经很不容易了,为什么前端为什么又要搞出来一个"组件化"开发的 ...

  9. VUE.JS 组件化开发实践

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模 ...

最新文章

  1. spring-boot-maven-plugin not found的解决方案
  2. Mysql总结(二)
  3. 【cs231n作业笔记】一:KNN分类器
  4. cbow word2vec 损失_Word2Vec的核心思想
  5. IT基础设施最佳实践ITIL
  6. (转) 学习淘淘商城第一课
  7. 复选框改为html,根据复选框更改HTML值
  8. 并发环境下的缓存容器性能优化(上):不可变的哈希表
  9. python中goto如何使用,基于python goto的正确用法说明
  10. Storm系列(十三)架构分析之Worker-维护ZMQ连接
  11. Android开源项目推荐之「网络请求哪家强」
  12. html视频直播源码,用HTML5开发简单的视频播放器,附源码
  13. java读取文件效率优化_java 读文件 性能
  14. 数理逻辑习题集(9)
  15. ctfshow F5杯 部分WP(writeup) 超详细
  16. linux运行igv报错,IGV 哐当就不能用了,除了换台电脑还能怎么办?
  17. 四轴基本知识扫盲及资料收集
  18. “熊孩子”乱敲键盘攻破 Linux 桌面;苹果开源代码被发现包含兼容微信的代码;网传蚂蚁启用OKR替代KPI | EA周报...
  19. LEARUN快速开发平台,让开发变得更简单
  20. 2018西安工业大学第二届萌新线上赛MISC WP

热门文章

  1. Eclipse LUNA配置Tomcat8
  2. HDU 4545 (模拟) 魔法串
  3. python+selenium实现网易邮箱登陆
  4. Scilab的初步介绍
  5. 速卖通html自定义属性,速卖通自定义属性怎么填?有哪些需要注意的地方?
  6. 平方数列、立方数列求和公式与推导
  7. 日常工作中遇到的那些坑
  8. 仙人掌问题(圆方树)
  9. Visual Studio 2022安装与使用教程
  10. 通过logback-spring.xml配置,概述log4j与logback之间的使用