首页 > 其他分享 >1111

1111

时间:2024-04-14 11:24:30浏览次数:19  
标签:Vue computed 自定义 1111 组件 页面 加载

什么是闭包,它的作用?
闭包是在函数返回后保持对函数中变量的访问的一种方式。闭包通常用于数据隐私、封装和创建具有持久状态的函数。

【TypeScript】
1、解释事件委托
事件委托是一种技术,您无需将事件侦听器附加到各个元素,而是将单个事件侦听器附加到将为其子元素处理事件的父元素。当您有大量元素或动态添加元素时,此方法非常有用,因为它可以提高性能并减少内存消耗。

2、解释 TypeScript 中静态类型的概念及其好处。
答案:TypeScript 中的静态类型可以在开发过程中指定变量、函数参数和返回值的数据类型。这有助于及早捕获与类型相关的错误,从而提高代码质量和可维护性。
好处是拥有更好的代码文档、增强的工具支持以及提高的开发人员生产力。

3、TypeScript 中的泛型是什么,它的作用
TypeScript 中的泛型允许您创建可与各种类型一起使用的可重用组件或函数。它们支持强类型,同时保持使用不同数据类型的灵活性。


【OpenHarmony】【ArkTs】【ArkUI】
1、UIAbility组件生命周期
UIAbility的生命周期包括Create、Foreground、Background、Destroy四个状态

2、UIAbility有哪几种启动模式
multiton
sinleton
specified

3、自定义组件生命周期
aboutToAppear(在创建自定义组件的新实例后,在执行其build()函数之前执行)
aboutToDisappear(在自定义组件析构销毁之前执行)
onPageShow(页面每次显示时触发一次,包括路由过程、应用进入前台等场景,仅@Entry装饰的自定义组件生效)
onPageHide(页面每次隐藏时触发一次,包括路由过程、应用进入前后台等场景,仅@Entry装饰的自定义组件生效)
onBackPress(当用户点击返回按钮时触发,仅@Entry装饰的自定义组件生效)
onLayout
onMeasure
LayoutChild
LayoutBorderInfo
LayoutInfo

4、http 创建流程(包含方法)
createHttp(创建一个HTTP请求,里面包括发起请求、中断请求、订阅/取消订阅HTTP Response Header事件)
request(url, options, callback) (根据URL地址,发起HTTP网络请求,使用Promise方式作为异步方法)
destory(中断请求任务)
on(订阅HTTP Response Header 事件)
off(取消订阅HTTP Response Header 事件)
once(订阅HTTP Response Header 事件,但是只触发一次)

5、用哪一种装饰器修饰的自定义组件可作为页面入口组件
@Entry


【Vue 面试题】
1、说说你对 SPA 单页面的理解,它的优缺点分别是什么?
SPA( single-page application )仅在 Web 页面初始化时加载相应的 HTML、JavaScript 和 CSS。一旦页面加载完成,SPA 不会因为用户的操作而进行页面的重新加载或跳转;取而代之的是利用路由机制实现 HTML 内容的变换,UI 与用户的交互,避免页面的重新加载。
优点:
用户体验好、快,内容的改变不需要重新加载整个页面,避免了不必要的跳转和重复渲染;
基于上面一点,SPA 相对对服务器压力小;
前后端职责分离,架构清晰,前端进行交互逻辑,后端负责数据处理;

缺点:
初次加载耗时多:为实现单页 Web 应用功能及显示效果,需要在加载页面的时候将 JavaScript、CSS 统一加载,部分页面按需加载;
前进后退路由管理:由于单页应用在一个页面中显示所有的内容,所以不能使用浏览器的前进后退功能,所有的页面切换需要自己建立堆栈管理;
SEO 难度较大:由于所有的内容都在一个页面中动态替换显示,所以在 SEO 上其有着天然的弱势。

2、v-show 与 v-if 有什么区别?
v-if 是真正的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建;也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。
v-show 就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 的 “display” 属性进行切换。
所以,v-if 适用于在运行时很少改变条件,不需要频繁切换条件的场景;v-show 则适用于需要非常频繁切换条件的场景。

3、computed 和 watch 的区别和运用的场景?
computed: 是计算属性,依赖其它属性值,并且 computed 的值有缓存,只有它依赖的属性值发生改变,下一次获取 computed 的值时才会重新计算 computed 的值;
watch: 更多的是「观察」的作用,类似于某些数据的监听回调 ,每当监听的数据变化时都会执行回调进行后续操作;
运用场景:
当我们需要进行数值计算,并且依赖于其它数据时,应该使用 computed,因为可以利用 computed 的缓存特性,避免每次获取值时,都要重新计算;
当我们需要在数据变化时执行异步或开销较大的操作时,应该使用 watch,使用 watch 选项允许我们执行异步操作 ( 访问一个 API ),限制我们执行该操作的频率,并在我们得到最终结果前,设置中间状态。这些都是计算属性无法做到的。

4、Vue各个生命周期的作用
beforeCreate 组件实例被创建之初,组件的属性生效之前
created 组件实例已经完全创建,属性也绑定,但真实 dom 还没有生成,$el 还不可用
beforeMount 在挂载开始之前被调用:相关的 render 函数首次被调用
mounted el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子
beforeUpdate 组件数据更新之前调用,发生在虚拟 DOM 打补丁之前
update 组件数据更新之后
activited keep-alive 专属,组件被激活时调用
deactivated keep-alive 专属,组件被销毁时调用
beforeDestory 组件销毁前调用
destoryed 组件销毁后调用

5、Vue 组件间通信有哪几种方式?
Vue 组件间通信只要指以下 3 类通信:父子组件通信、隔代组件通信、兄弟组件通信,下面我们分别介绍每种通信方式且会说明此种方法可适用于哪类组件间通信。
(1)props / $emit 适用 父子组件通信
这种方法是 Vue 组件的基础,相信大部分同学耳闻能详,所以此处就不举例展开介绍。
(2)ref 与 $parent / $children 适用 父子组件通信
ref:如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向组件实例
$parent / $children:访问父 / 子实例
(3)EventBus ($emit / $on) 适用于 父子、隔代、兄弟组件通信
这种方法通过一个空的 Vue 实例作为中央事件总线(事件中心),用它来触发事件和监听事件,从而实现任何组件间的通信,包括父子、隔代、兄弟组件。
(4)$attrs/$listeners 适用于 隔代组件通信
$attrs:包含了父作用域中不被 prop 所识别 (且获取) 的特性绑定 ( class 和 style 除外 )。当一个组件没有声明任何 prop 时,这里会包含所有父作用域的绑定 ( class 和 style 除外 ),并且可以通过 v-bind="$attrs" 传入内部组件。通常配合 inheritAttrs 选项一起使用。
$listeners:包含了父作用域中的 (不含 .native 修饰器的) v-on 事件监听器。它可以通过 v-on="$listeners" 传入内部组件
(5)provide / inject 适用于 隔代组件通信
祖先组件中通过 provider 来提供变量,然后在子孙组件中通过 inject 来注入变量。 provide / inject API 主要解决了跨级组件间的通信问题,不过它的使用场景,主要是子组件获取上级组件的状态,跨级组件间建立了一种主动提供与依赖注入的关系。
(6)Vuex 适用于 父子、隔代、兄弟组件通信
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。每一个 Vuex 应用的核心就是 store(仓库)。“store” 基本上就是一个容器,它包含着你的应用中大部分的状态 ( state )。

6、你有对 Vue 项目进行哪些优化?
(1)代码层面的优化
v-if 和 v-show 区分使用场景
computed 和 watch 区分使用场景
v-for 遍历必须为 item 添加 key,且避免同时使用 v-if
长列表性能优化
事件的销毁
图片资源懒加载
路由懒加载
第三方插件的按需引入
优化无限列表性能
服务端渲染 SSR or 预渲染
(2)Webpack 层面的优化
Webpack 对图片进行压缩
减少 ES6 转为 ES5 的冗余代码
提取公共代码
模板预编译
提取组件的 CSS
优化 SourceMap
构建结果输出分析
Vue 项目的编译优化
(3)基础的 Web 技术的优化
开启 gzip 压缩
浏览器缓存
CDN 的使用
使用 Chrome Performance 查找性能瓶颈

 

标签:Vue,computed,自定义,1111,组件,页面,加载
From: https://www.cnblogs.com/MrZivChu/p/18133876

相关文章

  • 111111111111
    Python循环顾名思义就是重复执行某一操作,Python中循环包括while循环和for循环,while循环是通过条件判断来指定循环的范围,for循环采用遍历的形式指定循环范围。 print("3213213213")   1deftest:2a=13test n=0whilen<5:print("你好")n+=1......
  • XBTF011110 施耐德触摸屏
    施耐德电气生产的XBTF011110是一款人机界面(HMI)设备,即触摸屏。其主要特点包括:小巧精致:相比于同类产品,XBTF011110的体积更小,设计更为精巧。创新特性:在设计和制造过程中融入了许多创新元素,显著提升了其在功能和性能上的表现。优质可靠:施耐德电气作为知名的电气设备供应商,其产品一......
  • 20211110lyxDER编码
    一、任务详情参考附件中图书p120中7.1的实验指导,完成DER编码。Name实例中,countryName改为"CN",organizationName="你的学号"commonName="你的姓名拼音"。用echo-n-e"编码">你的学号.der中,用OpenSSLasn1parse分析编码的正确性。提交编码过程文档(推荐markdown格式)。......
  • Acwing 1111. 字母
    https://www.acwing.com/problem/content/1113/#include<bits/stdc++.h>usingnamespacestd;typedeflonglongLL;typedefpair<int,int>PII;constLLMAXN=1e18,MINN=-MAXN,INF=0x3f3f3f3f;constLLN=200200,M=2020;LLn,m,maxn=1;charc[M][M];ma......
  • 11111
    #include<bits/stdc++.h>#include"minecraft.h"#include<Windows.h>usingnamespacestd;TxMinecraftmc;intmain(){boolcon=mc.ConnectMinecraft("zk","4cd7d6e558c943c397a3a5243fa78e19");if(!con){......
  • 1111
    转载自:https://www.cnblogs.com/MayeZhang/p/12374196.html本来天真的以为hi,jhi,j就是发射端第ii个天线和接收端第jj个天线之间的固定通道连接,后来在看一篇Millimeter-Wave通信论文时候发现这每一个hi,jhi,j就应该相当于一个子信道,也是由一堆不同的路径叠加而成的。发......
  • 11111
    <!DOCTYPEhtml><html> <headlang="en">  <metacharset="UTF-8">  <title>(重复)径向渐变-示例(含参数说明)</title>  <styletype="text/css">    .common{      width:1200px;  ......
  • 1111 Online Map
    题目Inputourcurrentpositionandadestination,anonlinemapcanrecommendseveralpaths.Nowyourjobistorecommendtwopathstoyouruser:oneistheshortest,andtheotheristhefastest.Itisguaranteedthatapathexistsforanyrequest.Input......
  • 11111111
    #include<iostream>#include<vector>#include<windows.h>usingnamespacestd;inta=999;intb=0;boolc=false;structstudent{ stringname; intage; intcard; intgrade;}s;voidka(){ cout<<"学生管理系统:"<<endl; c......
  • 兰馨五棵松20211110个人贡献
    我完成的工作:主要负责前端设计,参与了部分数据库整合和文本编写。我们小组的相关代码链接:https://gitee.com/an-jiran/dzgwxt/tree/master/(撰写代码时未统计代码行数)我们小组总共发布14篇博客,我贡献了其中5篇,相关链接如下:https://www.cnblogs.com/lanxin5kesong/p/17780874.ht......