1.以下题目会打印什么
new Vue({
data: { a: 1, b: 2 },
created: function () { console.log(this.a) },
mounted(){ console.log(this.b) }})
答:只会打印出1,因为mounted需要等全部代码加载完才能运行自己的代码,而created当vue实例创建出以后就会运行自己的代码
2.Class 与 Style 如何动态绑定?
答:我们可以用 v-bind 处理它们:只需要通过表达式计算出字符串结果即可 动态绑定class: *
v-bind:class="{ active: isActive, ‘text-danger’: hasError }"
data: {
isActive: true,
hasError: false
} **结果渲染为 < class=“static active”>
动态绑定style
<v-bind:style="{ color: activeColor, fontSize: fontSize + ‘px’ }">
data: {
activeColor: ‘red’,
fontSize: 30
}
3、v-show与v-if区别
答: v-show指令是通过修改元素的displayCSS属性让其显示或者隐藏
v-if指令是直接销毁和重建DOM达到让元素显示和隐藏的效果
4.下面的程序会输出什么*
const promise = new Promise((resolve, reject) => {
resolve(‘success1’);
reject(‘error’);
resolve(‘success2’);
});
promise.then( (res) => {
console.log(‘then:’, res);
} ).catch( (err) => {
console.log(‘catch:’, err);
} );
答: then:success1
当执行 resolve(‘success1’);的时候直接返回promise reject和下一个resolve不会执行,而且也没有错误,所以直接执行then:success1