vue面试题 (四)

标题组件中的data为什么不是一个对象,而是一个函数?

组件中的data写成一个函数,数据以函数返回值形式定义,这样每复用一次组件,就会返回一份新的data,类似于给每个组件实例创建一个私有的数据空间,让各个组件实例维护各自的数据。而单纯的写成对象形式,就使得所有组件实例共用了一份data,就会造成一个变了全都会变的结果。

vue中第一次页面加载会触发那几个声明周期钩子函数?

会触发下面这几个beforeCreate, created, beforeMount, mounted

vue.js的两个核心是什么?

数据驱动、组件系统

vue中key值得作用?

在v-for时使用,标识组件的唯一性,更好的区分组件,高效的更新虚拟DOM

v-show和v-if的区别?分别说明其使用场景

v-show 和v-if都是true的时候显示,false的时候隐藏 但是:false的情况下,v-show是采用的display:none;,v-if采用惰性加载。如果需要频繁切换显示隐藏需要使用v-show

vue常用的修饰符有哪些,并简要说明它们的作用?

Stop:阻止冒泡;prevent:阻止默认事件;once:只执行一次;capture:将事件流设为捕获方式;self:直对自身触发事件;enter:回车键;Up:上;down:下;left:左;right:右;

过滤器的作用是什么?如何注册过滤器?如何使用过滤器?

作用: 对数据进行一些加工处理,比如 数字保留几位小数
// 全局注册
// console.log(Vue.filter);
// 定义:Vue.filter(‘过滤器名’,过滤器函数)
// 过滤器函数一定要有返回值
/*
Vue.filter(‘过滤器名’,functon(变量值,传入的参数){
// 过滤处理
return 处理后的结果
})
*/
// 局部注册:

/*
    new Vue({
        el:""
        ...,
        filters:{
            过滤器名:function(变量值,传入的参数=参数默认值){
                // 过滤处理
                 return  处理后的结果
            }
        }
    })


*/        

// 使用:{{ 变量 | 过滤器名 }}

vue实例中有哪些常见的配置选项,分别用来干嘛?

el 挂载的节点
data 数据
methods 事件方法
computed 计算属性
watch 监听器
components 局部组件
filters 过滤器
directives 自定义指令
生命周期钩子函数

vue中数组发生改变了,但是页面没有渲染,怎么办?

arr.splice()
Vue.set()
vm.$set()

组件中的data为什么不是一个对象而是一个函数?

组件中的data写成一个函数,数据以函数返回值形式定义,这样每复用一次组件,就会返回一份新的data,类似于给每个组件实例创建一个私有的数据空间,让各个组件实例维护各自的数据。而单纯的写成对象形式,就使得所有组件实例共用了一份data,就会造成一个变了全都会变的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小李学软件

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值