2021-11-11 Vue面试题03

1、什么是侦听器?

侦听器是Vue中的一个对象,主要用于监听实例中指定变量的数据是否发生更新的处理模块,在实例中通过watch进行声明!
侦听器是Vue实例中,使用watch配置选项声明的一个对象,对象的内部可以监听实例中指定名称的变量,当变量的数据发生更新时触发对应的侦听器,在侦听器处理函数中完成对应的数据运算或者业务处理

2、Vue中计算属性和普通函数的区别是?

Vue中的计算属性本质上也是一个处理函数,可以和普通函数一样进行调用执行;普通函数就是声明在methods中的函数,可以调用执行;

  • 计算属性声明在实例中的computed配置选项上,可以和普通变量一样直接访问,访问的时候相当于调用执行函数,执行结果会进行缓存;如果下次继续访问时参与的数据没有发生变化就会直接使用缓存的数据结果,不会再次执行函数内部代码,性能上得到了提升
  • 普通函数声明在实例中的methods配置选项上,必须调用才能执行,每次调用执行时都会重新执行函数内部代码

3、Vue中计算属性和侦听器的区别是?

Vue中计算属性本质上是一个函数,侦听器内部也包含了处理函数,都可以在数据发生变化时自动调用执行函数内部的代码得到运算结果!计算属性和侦听器都可以监听变量数据是否发生更新

  • 计算属性本质上是一个纯粹的函数,通过函数名称直接访问数据,和普通变量的访问方式一致;调用执行时如果数据没有发生变化就会使用上一次缓存的运算结果,不会再次执行函数内部代码,计算属性可以同时监听一个或者多个数据的变化
  • 侦听器本质上是一个包含了处理函数的对象,主要监听指定变量的数据是否发生变化,一旦监听的变量发生数据更新就会自动执行对应侦听器函数完成数据的运算或者业务处理,每个侦听器对象一般只监听一个变量的数据变化

4、Vue中的过滤器有什么作用?全局过滤器和私有过滤器有什么区别?

Vue中的过滤器,主要的作用是格式化渲染插值表达式或者指令中的数据输出格式!
全局过滤器在Vue实例创建之前,声明在Vue.filter()函数上,全局过滤器可以用在所有声明后的Vue实例中
私有过滤器也称为组件过滤器,一般声明在当前实例的filters配置选项上,私有过滤器只能用在当前实例作用范围中

5、Vue中数据双向绑定的底层实现原理是什么?请实现一个简单的数据双向绑定功能

Vue非常明显的一个特征就是数据实现了双向绑定,简化了实例对象中的数据和网页视图中的数据的双向更新,底层主要是通过数据劫持实现的

// 1、声明一个临时存储变量
let temp;
// 2、数据劫持的方式 声明指定变量
Object.defineProperty(window, "myVariable", {
    // 获取数据时自动执行get()
    get() {
         return temp
	},
// 设置数据时自动执行set()
set(value) {
    temp = value
    // TODO 自动执行数据渲染,达到数据同步更新的目的
	}
})

// 访问变量
console.log(myVariable)
// 设置变量
myVairable = "新数据"

6、简述你用过的Vue中哪些指令?分别有什么含义?

v-text/v-html:用于数据渲染输出
v-once:用于数据一次性渲染
v-if/v-show:用于数据按照条件进行渲染
v-if/v-for:用于程序流程控制
v-bind:动态操作属性
v-on:事件操作指令
v-model:表单数据双向绑定

Vue.js是十分耀眼的项目之一,受到国内外开发人员的极度推崇。内容包括Vue.js概述、Vue.js的安装、定义页面、渲视图、路由、发送HTTP请求、表单的绑定和提交、打包、部署、解决js的跨域问题、Debug、Component、Vuex、页面的生命周期等,*后还给出一个实战案例供读者了解Vue.js项目开发过程。2020-2021最新Vue.js零基础入门到精通实战开发课程视频教程下载。课程以项目实战为驱动,帮你打开通往Vue.js的任督二脉,让你迅速成为一个优秀的Vue.js开发人员。 一、课程介绍Vue.js致力于构建数据驱动的web应用开发框架,是一个精简的MVVM。Vue.js 专注于 MVVM 模型的 ViewModel 层。简单的数据操作,就可以完成页面的更新,当然也有很多类似的框架,如Angular,React,但是Vue以简洁化,轻量级,数据驱动,模块友好等优势深受企业以及前端开发者的喜爱,成为前端开发人员必备的技能。2020年了,你还只会用jQuery吗?本课程以项目实战为驱动,帮你打开通往Vue.js的任督二脉,让你迅速成为一个优秀的Vue.js开发人员。二、课程需知我们的课程面向的同学是:需要有网页开发基础,熟悉HTML/CSS/JavaScript前端开发技术,初步掌握JSON,闭包,AJAX…等JavaScript技术,在进阶阶段的课程中会使用ES6的一些语法,因此事先掌握一些ES6的知识也是有必要的。三、内容编排本课程分为三大部分讲解了运用Vue.js 进行项目实战开发。内容包括:第一步:Vue.js基础1、初识vue.js 2、模板语法3、计算属性4、class与style绑定5、条件渲染6、列表渲染7、fetch&axios8、事件处理器9、表单控件10、组件化开发第二步:Vue.js进阶1、过渡动画效果2、自定义指令3、单文件组件4、路由vue-router第三步:项目实战1、卖座苹果网站项目- 引入iconfont- 路由搭建- axios以及反向代理-嵌套路由-数据渲染2、Vue.js第三方框架使用-Element UI-mintUI3、状态管理vuex课程详细目录:Vue.js 课程介绍.docx第001集-1vue初识第002集-2条件渲染第003集-3tab切换第004集-4列表渲染第005集-5模板语法第006集-6计算属性第007集-7侦听器和class第008集-8内联样式第009集-9事件绑定第010集-10表单输入绑定第011集-11过渡动画第012集-12todolist应用第013集-13生命周期与组件生命周期第014集-14组件之间的传值第015集-15$root_$parent_$children第016集-16v-model与插槽第017集-17vue-cli第018集-18vue-devtools第019集-19vue-cli原理第020集-20vue组件化第021集-21vue聊天框第022集-22socket初识和安装第023集-23单聊和群聊以及命名空间第024集-24聊天项目第025集-25聊天登录登出第026集-26聊天列表第027集-27个人聊天第028集-28单聊功能第029集-29自动滚动和聊天第030集-30群聊第031集-31注意编译地址第032集-32vue实现原理1第033集-33vue实现原理2第034集-34less第035集-35vue-less使用第036集-36sass第037集-37vue-router第038集-38动态路由和嵌套路由第039集-39命名视图和组件传参第040集-40vue路由高级应用第041集-41Vue路由守卫第042集-42vuexstate第043集-43vuex getter第044集-44vuex-action第045集-45vuex-module第046集-46vuex-插件第047集-47vuex-vant第048集-48网易严选商城第049集-49网易商城首页第050集-50分类列表第051集-51产品列表第052集-52产品列表2第053集-53商品产品页面第054集-54产品sku第055集-55产品购物车第056集-56购物车
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值