目录
一、选择题
生命周期
1、关于 Vue 的生命周期,下列哪项是不正确的?
A、DOM渲染在mounted中就已经完成了
B、 实例从创建到销毁的过程,就是生命周期
C、created表示完成数据观测、 属性和方法的运算和初始化事件,此时$el属性还未显示出来
D、页面首次加载过程中,会依次触发beforeCreate, created, beforeMount, mounted, beforeUpdate, updated
参考答案:D
题目解析:
A:挂载阶段
B: 生命周期实例从创建到销毁的过程:beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed
D:页面首次加载过程中,会依次触发beforeCreate, created, beforeMount, mounted
2、vue的生命周期,执行顺序正确的是:
A、beforeCreate-> created-> mounted-> destroy
B、 mount- > beforeCreate-> create->destroy
C、beforeCreate-> created-> mount > destroy
D、init-> beforeCreate-> create-> destroy
参考答案:A
题目解析:
生命周期过程:beforeCreate->created->beforeMount->mounted->beforeUpdate->updated->beforeDestroy->destroyed
子父组件传值
3、 关于 Vue 组件间的参数传递,下列哪项是不正确的?
A、 若子组件给父组件传值,可使用$emit方法
B、 祖孙组件之间可以使用provide和inject方式跨层级相互传值
C、 若子组件使用$emit('say )派发事件,父组件可使用@say监听
D、 若父组件给子组件传值,子组件可通过props接受数据
参考答案:B
题目解析:
相互是不对的 , 只能上层传, 下层收, 不过其实也可以, 比如父组件传递回调函数...., 子组件将值通过回调传给父组件。
provide()和inject() 可以实现嵌套组件之间的数据传递这两个函数只能在setup()函数中使用.
父组件中使用provide()函数向下传递数据;
子组件中使用inject()获取上层传递过来的数据。
首先祖先给子孙后代传递也是可以用props传递,一层层传递,爷爷给孙子还好,但是嵌了五六层还这么写,就显得非常麻烦了。所以就用到了provide(提供)和inject(注入)。这两个是配套使用的,以允许祖先向所有祖先后代注入一个依赖。
用法就是在父组件里面通过provide注入想要注入的数据,再在后代组件中通过inject注入这些数据,然后直接使用。
v-model 语法糖
4、下列关于 v-model 的说法,哪项是不正确的?
A、v-modeI能实现双向绑定
B、v-model本质上是语法糖,它负责监听用户的输入事件以更新数据
C、v-model是内置指令, 不能用在自定义组件上
D、对input使用v-model,实际上是指定其:value和:input
参考答案:C
题目解析:
语法糖(Syntactic sugar),也译为糖衣语法,一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。