当前位置: 首页 > news >正文

Vue相关面试题(1)

1.渐进增强 优雅降级?

渐进增强:

针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。

优雅降级:

一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。

区别:

优雅降级是从复杂的现状开始,并试图减少用户体验的供给;渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。
渐进增强观点认为应该关注于内容本身,这使得渐进增强成为一种更为合理的设计范例;优雅降级观点认为应该针对那些最高级、最完善的浏览器来设计网站。


2.目前前端比较流行的框架有哪些?设计思想和使用场景?

一、Vue
Vue框架是用于构建用户界面的渐进式框架。它是可以自底向上逐层应用。Vue 的核心库只关注视图层,上手简单而且还便于与第三方库进行整合。

二、React
React使创建交互式UI变得轻而易举。为你应用的每一个状态设计简洁的视图,当数据改变时 React能有效地更新并正确地渲染组件。

三、Angular
Angular是一个强大的前端框架,其强大之处主要是可以把静态页面与动态数据绑定起来。Angular是一个mvc框架,它与jquery不同,前者致力于mvc代码解耦,采用model、controller以及view方式去组织代码,而后者提供给你了很多APi函数,你可以不用写很多原生js去实现比较复杂的效果,比如说动画,$.animate

四、Flutter
极速构建漂亮的原生应用Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。Flutter Framework是一个完全由Dart语言构建的SDK,它实现了一整套自底而上的基础库。

3.vue.js 渐进式框架(分层的设计模式)是什么意思?五层设计

Vue 是一套用于构建用户界面的渐进式框架。
渐进式框架意思使vue不强求我们一次性接受并使用它的全部功能特性

五层具体指:核心技术库,组件系统,数据状态管理,路由管理,开发环境
4.vue.js 的核心是什么?数据驱动和组件化开发

一、数据驱动

Vue是一种MVVM框架。而DOM是数据的一个种自然映射。传统的模式是通过Ajax请求从model请求数据,然后手动的触发DOM传入数据修改页面。Vue中,当model里的数据发生变化是,Vue就会去修改DOM。同时也会对视图view的监听,当DOM改变时,就会被监听到,实现model的改变,实现数据的双向绑定。
二、组件化

组件化实现了扩展HTML元素,封装可用的代码。页面上每个独立的可视/可交互区域视为一个组件;每个组件对应一个工程目录,组件所需要的各种资源在这个目录下就近维护;页面不过是组件的容器,组件可以嵌套自由组合形成完整的页面。
5.库和框架的区别?

库:本质上是一些函数的集合。每次调用函数,实现一定的特定的功能,接着把控制权交给使用者
框架:是一套完整的解决方案,使用框架的时候,需要把你的代码放到框架适合的地方,框架会在合适的实际调用你的代码。

相关文章:

  • 基于SpringBoot的网上购物商场管理系统
  • Python——time模块
  • 【深度学习】卷积神经网络的架构参考 以MNIST数据集为例(未调节架构)测试集正确率: 98.66%
  • C++ 哈希桶模拟实现(补充)
  • Rethinking the Inception Architecture for Computer Vision--Christian Szegedy
  • 安卓毕业设计成品基于Uniapp+SSM实现的智能课堂管理APP在线学习网
  • 基于metaRTC嵌入式webrtc的H265网页播放器实现(我与metaRTC的缘分)
  • 【设计模式】Java设计模式 - 组合模式
  • Android之Handler(上)
  • 网络协议:网络安全
  • php防止SQL注入的网上二手交易平台的设计与实现毕业设计-附源码241552
  • 美团笔试题目(Java后端5题2小时)
  • HTML期末大学生网页设计作业——奇恩动漫HTML (1页面) HTML CSS JS网页设计期末课程大作业
  • 浅谈如何学习网络编程
  • 【MYSQL】表的增删改查
  • 「面试题」如何实现一个圣杯布局?
  • 【刷算法】从上往下打印二叉树
  • canvas 五子棋游戏
  • echarts的各种常用效果展示
  • ESLint简单操作
  • Fastjson的基本使用方法大全
  • flutter的key在widget list的作用以及必要性
  • Java反射-动态类加载和重新加载
  • Node 版本管理
  • python3 使用 asyncio 代替线程
  • SegmentFault 2015 Top Rank
  • spring boot 整合mybatis 无法输出sql的问题
  • vue2.0项目引入element-ui
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 使用Gradle第一次构建Java程序
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​secrets --- 生成管理密码的安全随机数​
  • ![CDATA[ ]] 是什么东东
  • #14vue3生成表单并跳转到外部地址的方式
  • #微信小程序:微信小程序常见的配置传值
  • (0)Nginx 功能特性
  • (a /b)*c的值
  • (C++17) std算法之执行策略 execution
  • (Java数据结构)ArrayList
  • (pojstep1.1.2)2654(直叙式模拟)
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (第二周)效能测试
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (算法)Game
  • (五)Python 垃圾回收机制
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • .net mvc 获取url中controller和action
  • .NET Project Open Day(2011.11.13)
  • .NET 设计模式初探
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • @Validated和@Valid校验参数区别
  • [Angularjs]asp.net mvc+angularjs+web api单页应用
  • [C++]命名空间等——喵喵要吃C嘎嘎
  • [CF543A]/[CF544C]Writing Code
  • [emacs] CUA的矩形块操作很给力啊