Vue3,从小公司跳槽到大公司面试时怎么说离职原因

*   [3.4、事件监听指令](about:blank#34_1123)
*   *   [3.4.1、v-on](about:blank#341von_1138)
    *   [3.4.2、v-on修饰符](about:blank#342von_1322)
    *   *   [1、阻止冒泡](about:blank#1_1324)
        *   [2、阻止默认事件](about:blank#2_1415)
        *   [3、响应一次事件](about:blank#3_1499)
        *   [4、键盘事件修饰符](about:blank#4_1549)
    *   [3.4.3、小结](about:blank#343_1600)
*   [3.5、条件渲染指令](about:blank#35_1609)
*   *   [3.5.1、v-if](about:blank#351vif_1618)
    *   [3.5.2、v-if、v-else-if、v-else](about:blank#352vifvelseifvelse_1653)
    *   [3.5.3、v-show](about:blank#353vshow_1689)
    *   [3.5.4、条件渲染案例](about:blank#354_1736)
*   [3.6、列表渲染指令](about:blank#36_1819)
*   *   [3.6.1、v-for](about:blank#361vfor_1821)
    *   *   [1、数组遍历](about:blank#1_1823)
        *   [2、对象遍历](about:blank#2_1923)
        *   [3、v-if和v-for](about:blank#3vifvfor_1999)
    *   [3.6.2、组件的key属性](about:blank#362key_2009)
    *   *   [1、Diff算法](about:blank#1Diff_2035)
    *   [3.6.3、检测数组更新](about:blank#363_2052)
*   [3.7、双向绑定指令](about:blank#37_2184)
*   *   [3.7.1、v-model](about:blank#371vmodel_2186)
    *   [3.7.2、v-model原理](about:blank#372vmodel_2233)
    *   [3.7.3、v-model:radio](about:blank#373vmodelradio_2250)
    *   [3.7.4、v-model:checkbox](about:blank#374vmodelcheckbox_2289)
    *   [3.7.5、v-model:select](about:blank#375vmodelselect_2398)
    *   [3.7.6、v-model修饰符](about:blank#376vmodel_2480)
    *   *   [1、lazy修饰符](about:blank#1lazy_2490)
        *   [2、number修饰符](about:blank#2number_2550)
        *   [3、trim修饰符](about:blank#3trim_2608)

2、Vue3.x安装

============================================================================

安装Vue3.x的方式有很多,主要有三种:

2.1、方式一:直接CDN引入


方式一:直接CDN引入

  • 你可以选择引入开发环境版本还是生产环境版本

2.2、方式二:下载和引入


2.3、方式三:NPM安装


最新稳定版

$ npm install vue

后续通过 webpack 和 CLI 使用时我们使用该方式。

3、Vue指令

=========================================================================

3.1、配置准备


1.1.1、WebStrom配置模板

  1. 打开WebStrom,File->Settings->Editor->Code Style->Style Sheets

将CSS、HTML、JavaScript、TypeScript的样式缩进均改为2,下面图片以CSS为例。

在这里插入图片描述

  1. File->Settings->Editor->Live Templates->Vue

在这里插入图片描述

在这里插入图片描述

将下方代码粘贴进模板文件(Template File):

{{message}}

  1. OK,这样我们在HTML文件中输入 vue 再按 tab 键,那么就会自动生成vue模板了。

1.1.2、配置devtools

  1. 方式一:在官网获取Chrome扩展程序(需要VPN才能进入)

在这里插入图片描述

  1. 方式二:在Github下载,这里我没有做记录,可以自行搜索[Vue Devtools 安装步骤],时间原因,之后更新Github方式。

3.2、内容渲染指令


3.2.1、mustache语法

内容渲染指令就是插值操作,如何将data中的文本数据,插入到HTML中呢?

可以通过Mustache语法(也就是 双大括号{{}}),也叫做插值表达式

  1. 双括号里面是变量

{{message}}

在这里插入图片描述

  1. 双括号里面是表达式

{{message}}

{{message+site}}

在这里插入图片描述

  1. 双括号里面表达式加空格或者字符

{{message}}

{{message+ '空格或者字符' + site}}

在这里插入图片描述

  1. 双括号后加双括号

{{message}}

{{message}} {{site}}

在这里插入图片描述

  1. 双括号后跟字符

{{message}}

{{message}},大林dalin

在这里插入图片描述

  1. 双括号只能写在标签内部,不能写在标签属性里面

{{message}}

  1. 双括号里面还能进行变量计算

{{message}}

计算{{count * 2}}

在这里插入图片描述

3.2.2、v-once

我们有时候希望展示的部分数据不会随着Vue的响应式而发生变化,要怎么做呢?先来看一个例子:

会变化{{message}}

不会变化{{message}}

在这里插入图片描述

我们在Console控制台修改 app.messgae="Vue3",会发现message都发生了变化

在这里插入图片描述

要想第二个message不发生变化,我们给第二个h1标签添加v-once属性

会变化{{message}}

不会变化{{message}}

在这里插入图片描述

注意:

  1. v-once指令后面不需要跟任何表达式
  1. v-once该指令表示元素和组件只渲染一次,不会随着数据的改变而改变

1.3.2、v-text

v-text 作用和 Mustache 比较相似:都是用于将数据显示在界面中

  1. v-text 是放在标签属性中

{{message}}

在这里插入图片描述

对于v-text和mustache语法,我们更推荐使用mustache语法。

注意:v-text 指令会覆盖元素内默认的值。

1.3.3、v-html

某些情况下,我们从服务器请求到的数据本身就是一个HTML代码

  • 如果我们直接通过{{}} 来输出,会将HTML代码也一起输出

  • 但是我们希望是按照HTML格式进行解析,并且显示对应的内容

如果我们希望解析出HTML展示

  • 可以使用v-html指令

  • 该指令后面往往会跟上一个string类型

  • 会将string的html解析出来并且进行渲染

我们来看一个mustache例子:

{{site}}

在这里插入图片描述

有时候服务器给客户端返回的数据是带标签的数据,我们客户端拿到之后解析肯定不能如上图那样直接使用 mustache 语法,我们要对其进行处理

{{site}}

在这里插入图片描述

1.3.4、v-pre

该指令的作用是用于跳过这个元素和它子元素的编译过程,用于显示原本的 Mustache 语法

一般我们的mustache语法会去data里面找对应的变量然后解析,可是如果我们就想让其显示为 {{message}} ,这个时候需要加 v-pre 属性,如下:

{{message}}

在这里插入图片描述

我们给标签增加 v-pre 属性

{{message}}

在这里插入图片描述

1.3.5、v-cloak

在实际开发中,我们data里面的数据可能是从服务器端获取来的,如果网络不好获取的比较慢,浏览器可能会直接显示出未编译的Mustache标签。那么页面在渲染时可能会先显示 {{message}} 之后变为 你好Vue3!。这种效果不是我们想要的,我们可以给标签添加 v-cloak 来避免这种效果。

解决办法:

  1. 加上v-clock 属性,并加上css。

  2. vue解析之前有 v-clock 属性时,让其不显示

  3. Vue解析之后没有v-clock 属性,再让其显示

{{message}}

3.3、属性绑定指令


3.3.1、v-bind

前面的指令主要作用是将值插入到我们的模板的内容当中,但是,除了内容需要动态来决定外,某些属性我们也希望动态来绑定。

  • 比如动态绑定a元素的 href 属性

  • 比如动态绑定img元素的 src 属性

  1. 绑定 href、src 用法

在实际开发中,照片img的url值可能也是由服务器端获取,a标签的href值可能也是由服务器端获取的,那么我们如何动态绑定呢?例如我们看下面的例子:

{{message}}

百度

在这里插入图片描述

如上图,我们给a标签的href是不能直接写url的,因为它不会解析。这个时候就需要给href前添加v-bind指令了。

{{message}}

百度

在这里插入图片描述

语法糖写法如下:href="url"

{{message}}

百度

1、v-bind绑定class
  1. 绑定 class 用法
  • 绑定class

我们让 message 的字体颜色为红色,由于是单文件演示,所以将 style 样式写入上方,实际开发中我们的样式可能是由服务器端获取的。例如服务端传给我们的样式是使得文字样式变为红色

{{message}}

在这里插入图片描述

例如我们的样式是从服务器端获取的arg1,那么如果我们直接写 class="arg1" 是不会解析为 class=red 的,如下图:

{{message}}

在这里插入图片描述

如果我们使用v-bind绑定写为 :class="arg1",那么就会解析为 class="red"

{{message}}

在这里插入图片描述

  • V-bind 对象语法

  • 当服务器端传给我们很多样式的时候,我们可以采用对象语法(class 后面跟的是一个对象)

{{message}}

在这里插入图片描述

  • v-bind 数组语法(class 后面跟的是一个数组)

{{message}}

在这里插入图片描述

如果类过于繁杂,我们可以将其放在一个methods或者computed中

{{message}}

2、v-bind绑定style

我们可以利用 v-bind: style 来绑定一些CSS内联样式

在写CSS属性名的时候,比如 font-size

  • 我们可以使用驼峰式:fontSize

  • 或短横线分隔(记得用单引号括起来) 'font-size'


  1. 绑定 style 语法

我们普通的用法如下,这是css的行内式写法:

{{message}}

若我们使用v-bind来绑定 style 样式,使用方式如下:

{{message}}

在这里插入图片描述

注意点:

  1. 需要外面有大括号
  1. 原始的 font-size,中间有-连接符的需要删除连接符并改为驼峰命名法
  1. {属性名:属性值},其中的属性值需要加单引号 ''

如果我们的属性值是由外部服务器传来的,那么我们的属性值可以不用加单引号,示例如下:

{{message}}

在这里插入图片描述

如果外部传入的样式较多,那么我们的写法如下

{{message}}

在这里插入图片描述

当然如果样式过于繁杂,我们可以将其放在一个methods或者computed中,写法如下:

{{message}}

在这里插入图片描述

注意点:

  1. 抽离为methods中时,属性值前需要加 this 关键字,this我们可以理解为实例对象app,我们可以是用 app.message,app.arg1 来打印相关数据
  1. v-bind 绑定style样式时,抽离为methods的方法名后面需要加括号,也就是上面代码的 getStyle() 除了事件方法不用加括号,其他都需要加括号

3.3.2、计算属性computed

计算属性指的是通过一系列运算之后,最终得到一个属性值。这个动态计算出来的属性值可以被模板结构或methods 方法使用。

我们知道,在模板中可以直接通过插值语法显示一些data中的数据。但是在某些情况,我们可能需要对数据进行一些转化后再显示,或者需要将多个数据结合起来进行显示.

例如下代码,我们可以在页面中拼接出: 秦🔥晓

{{firstName + '🔥' + lastName}}

在这里插入图片描述

若要拼接的内容过多,我们使用Mustache语法就会比较复杂,我们可以使用函数来拼接:

{{getFullName()}}

在这里插入图片描述

当然这些拼接比较简单,如果有更复杂的我们建议放在计算属性computed中,代码如下:

{{fullName}}

在这里插入图片描述

注意:

  1. 计算属性写法为函数,命名为属性
  1. 计算属性在Mustache语法中不需要加括号,因为计算属性本质为属性
  1. 计算属性会缓存计算的结果,只有计算属性依赖的数据变化时,才会重新进行运算
1、深入使用

假设我们从服务器端返回的是一个数组对象,代码如下:

总积分:{{members[0].score+members[1].score+members[2].score+members[3].score}}

在这里插入图片描述

我们会发现常规使用Mustache语法会非常复杂,这个时候我们就需要使用计算属性了:

总积分:{{totalScore}}

在这里插入图片描述

2、内部实现

每一个计算属性都包含一个getter和一个setter,只是我们一般基本不用 setter方法

{{fullName}}

在这里插入图片描述

3、计算属性和methods的区别

我们可能会考虑这样的一个问题:

  • methods 和 computed 看起来都可以实现我们的功能,那么为什么还要多一个计算属性这个东西呢?

  • 原因:计算属性会进行缓存,如果多次使用时,计算属性只会调用一次。

3.4、事件监听指令


在前端开发中,我们经常需要监听点击、拖拽、键盘事件等等,这个时候需要使用 v-on

  • 作用:绑定事件监听器

  • 缩写:@

| DOM对象 | vue事件绑定 |

| — | — |

| onclick | v-on:click |

| oninput | v-on:input |

| onkeyup | v-on:keyup |

注意:通过 v-on 绑定的事件处理函数,需要 在 methods 节点 中进行声明

3.4.1、v-on

我们来看下v-on的最基本的用法,这里借用官方demo演示:

{{count}}

-

+

在这里插入图片描述

注意:

  1. v-on绑定的方法名后面可以加括号,也可以不加括号
  1. v-on的语法糖为@,v-on:click 我们可以写为 @click

如果我们的事件要传递参数,代码如下:

<button @click=“btn1Click()”>按钮一

<button @click=“btn2Click”>按钮二

在这里插入图片描述

在使用 v-on 绑定事件时:

  1. 如果事件函数后有括号,如:@click="btn1Click()",则默认什么都不传递
  1. 如果事件函数后无括号,如:@click="btn1Click" ,则默认传递事件对象

当然我们也可以传递多个参数,我们可以使用多个参数来接收,也可以使用arguments来接收:

<button @click=“btn1Click(123,‘abc’,true)”>按钮一

在这里插入图片描述

当然我们也可以传递动态参数,例如传递data实例中的count:

<button @click=“btn1Click(123,‘abc’,true,count)”>按钮一

当我们带参数又要带有事件参数时,我们要使用 $event

<button @click=“btn1Click(123,‘abc’,true,count,$event)”>按钮一

在这里插入图片描述

3.4.2、v-on修饰符

1、阻止冒泡

对于如下代码,我们点击按钮,会冒泡至父盒子,效果如下图:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

总结

三套“算法宝典”

28天读完349页,这份阿里面试通关手册,助我闯进字节跳动

算法刷题LeetCode中文版(为例)

人与人存在很大的不同,我们都拥有各自的目标,在一线城市漂泊的我偶尔也会羡慕在老家踏踏实实开开心心养老的人,但是我深刻知道自己想要的是一年比一年有进步。

最后,我想说的是,无论你现在什么年龄,位于什么城市,拥有什么背景或学历,跟你比较的人永远都是你自己,所以明年的你看看与今年的你是否有差距,不想做咸鱼的人,只能用尽全力去跳跃。祝愿,明年的你会更好!

由于篇幅有限,下篇的面试技术攻克篇只能够展示出部分的面试题,详细完整版以及答案解析,有需要的可以关注

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

iv>

当我们带参数又要带有事件参数时,我们要使用 $event

<button @click=“btn1Click(123,‘abc’,true,count,$event)”>按钮一

在这里插入图片描述

3.4.2、v-on修饰符

1、阻止冒泡

对于如下代码,我们点击按钮,会冒泡至父盒子,效果如下图:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-UGXiENea-1712707607708)]
[外链图片转存中…(img-bWXGWwiy-1712707607709)]
[外链图片转存中…(img-lB1n2qcR-1712707607709)]
[外链图片转存中…(img-pvT9CitV-1712707607709)]
[外链图片转存中…(img-SSYi9fCq-1712707607710)]
[外链图片转存中…(img-E25SYLOd-1712707607710)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-D5ORR4j4-1712707607710)]

总结

三套“算法宝典”

28天读完349页,这份阿里面试通关手册,助我闯进字节跳动

算法刷题LeetCode中文版(为例)

人与人存在很大的不同,我们都拥有各自的目标,在一线城市漂泊的我偶尔也会羡慕在老家踏踏实实开开心心养老的人,但是我深刻知道自己想要的是一年比一年有进步。

最后,我想说的是,无论你现在什么年龄,位于什么城市,拥有什么背景或学历,跟你比较的人永远都是你自己,所以明年的你看看与今年的你是否有差距,不想做咸鱼的人,只能用尽全力去跳跃。祝愿,明年的你会更好!

由于篇幅有限,下篇的面试技术攻克篇只能够展示出部分的面试题,详细完整版以及答案解析,有需要的可以关注

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-Ywux40cw-1712707607710)]

  • 19
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值