vue常见面试题(2)

1.v-on可以监听多个方法吗?(可以的)

一个元素绑定多个事件的两种写法,一个事件绑定多个函数的两种写法,修饰符的使用。

<astyle="cursor:default"v-on='{click:DoSomething,mouseleave:MouseLeave}'>doSomething</a>

在method方法里面分别写两个时事件;

<button@click="a(),b()">点我ab</button>

2.vue事件中如何使用event对象

<button@click="Event($event)">事件对象</button>

3.比如你想让一个dom元素显示,然后下一步去获取这个元素的offsetWidth,最后你获取到的会是0。

因为你改变数据把show变成true,元素并不会立即显示,理所当然也不会获取到动态宽度。

正确的做法是先把元素show出来,在$nextTick去执行获取宽度的操作

openSubmenu(){

this.show=true//获取不到宽度

this.$nextTick(()=>//这里才可以 let w = this.$refs.submenu.offsetWidth;})}

4.Vue 组件中 data 为什么必须是函数

vue组件中data值不能为对象,因为对象是引用类型,组件可能会被多个实例同时引用。

如果data值为对象,将导致多个实例共享一个对象,其中一个组件改变data属性值,其它实例也会受到影响

5.vue中子组件调用父组件的方法

第一种方法是直接在子组件中通过this.$parent.event来调用父组件的方法

第二种方法是在子组件里用$emit向父组件触发一个事件,父组件监听这个事件就行了。

第三种都可以实现子组件调用父组件的方法,

6.vue中 keep-alive 组件的作用

keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染。

7.vue中如何编写可复用的组件?

①创建组件页面eg Toast.vue;

②用Vue.extend()扩展一个组件构造器,再通过实例化组件构造器,就可创造出可复用的组件

③将toast组件挂载到新创建的div上;

④把toast组件的dom添加到body里;

⑤修改优化达到动态控制页面显示文字跟显示时间;

8.什么是vue生命周期和生命周期钩子函数

beforecreated:在实例初始化之后,el 和 data 并未初始化(这个时期,this变量还不能使用,在data下的数据,和methods下的方法,watcher中的事件都不能获得到;)

created:完成了 data 数据的初始化,el没有(这个时候可以操作vue实例中的数据和各种方法,但是还不能对"dom"节点进行操作;)

beforeMount:完成了 el 和 data 初始化 //这里的el是虚拟的dom;

mounted :完成挂载,在这发起后端请求,拿回数据,配合路由钩子做一些事情(挂载完毕,这时dom节点被渲染到文档内,一些需要dom的操作在此时才能正常进行)

beforeUpdate:是指view层数据变化前,不是data中的数据改变前触发;

update:是指view层的数据变化之后,

beforeDestory: 你确认删除XX吗?

destoryed :当前组件已被删除,清空相关内容

9.vue更新数组时触发视图更新的方法

Vue.set==========Vue.set(target,key,value)这个方法主要是用于避开vue不能检测属性被添加的限制

Vue.set(array,indexOfItem,newValue)//indexOfItem指的索引this.array.$set(indexOfItem,newValue)

Vue.set(obj,keyOfItem,newValue)this.obj.$set(keyOfItem,newValue)Vue.delete这个方法主要用于避开vue不能检测到属性被删除;Vue.delete(array,indexOfItem)this.array.$delete(indexOfItem)Vue.delete(obj,keyOfItem)this.obj.$delete(keyOfItem)

10.webpack的编译原理

webpack的作用

①、依赖管理:方便引用第三方模块、让模块更容易复用,避免全局注入导致的冲突、避免重复加载或者加载不需要的模块。会一层一层的读取依赖的模块,添加不同的入口;同时,不会重复打包依赖的模块。

②、合并代码:把各个分散的模块集中打包成大文件,减少HTTP的请求链接数,配合UglifyJS(压缩代码)可以减少、优化代码的体积。

③、各路插件:统一处理引入的插件,babel编译ES6文件,TypeScript,eslint 可以检查编译期的错误。

一句话总结:webpack 的作用就是处理依赖,模块化,打包压缩文件,管理插件。

一切皆为模块,由于webpack只支持js文件,所以需要用loader 转换为webpack支持的模块,其中plugin 用于扩张webpack 的功能,在webpack构建生命周期的过程中,在合适的时机做了合适的事情。

webpack怎么工作的过程

①解析配置参数,合并从shell(npm install 类似的命令)和webpack.config.js文件的配置信息,输出最终的配置信息;

②注册配置中的插件,让插件监听webpack构建生命周期中的事件节点,做出对应的反应;

③解析配置文件中的entry入口文件,并找出每个文件依赖的文件,递归下去;

④在递归每个文件的过程中,根据文件类型和配置文件中的loader找出对应的loader对文件进行转换;

⑤递归结束后得到每个文件最终的结果,根据entry 配置生成代码chunk(打包之后的名字);

⑥输出所以chunk 到文件系统。

11.vue等单页面应用及其优缺点

缺点:

不支持低版本的浏览器,最低只支持到IE9;

不利于SEO的优化(如果要支持SEO,建议通过服务端来进行渲染组件);

第一次加载首页耗时相对长一些;

不可以使用浏览器的导航按钮需要自行实现前进、后退。

优点:

无刷新体验,提升了用户体验;

前端开发不再以页面为单位,更多地采用组件化的思想,代码结构和组织方式更加规范化,便于修改和调整;

API 共享,同一套后端程序代码不用修改就可以用于Web界面、手机、平板等多种客户端

用户体验好、快,内容的改变不需要重新加载整个页面。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容