前端面试整理(二)

一、Vue指令

  1. v-text:主要用来更新textContent,可以等同于JS的text属性。等价{{msg}};
  2. v-html:输出真正文本,像当于JS的innerHtml属性;
  3. v-pre:主要用来跳过这个元素和它的子元素编译过程。可以用来显示原始的Mustache标签。跳过大量没有指令的节点加快编译;
  4. v-cloak:用来保持在元素上直到关联实例结束时进行编译,会出现闪烁;
  5. v-once:关联的实例,只会渲染一次。之后的重新渲染,实例极其所有的子节点将被视为静态内容跳过,这可以用于优化更新性能;
  6. v-if:可以实现条件渲染;
  7. v-else:搭配v-if使用的,它必须紧跟在v-if或者v-else-if后面,否则不起作用;
  8. v-else-if:v-else-if充当v-if的else-if块,可以链式的使用多次。可以更加方便的实现switch语句;
  9. v-show:也是用于根据条件展示元素。和v-if不同的是,如果v-if的值是false,则这个元素被销毁,不在dom中。但是v-show的元素会始终被渲染并保存在dom中,它只是简单的切换css的dispaly属性;
    注意:v-if有更高的切换开销,v-show有更高的初始渲染开销。因此,如果要非常频繁的切换,则使用v-show较好;如果在运行时条件不太可能改变,则v-if较好
  10. v-for:根据遍历数组来进行渲染;
  11. v-bind:动态的绑定一个或者多个特性。没有参数时,可以绑定到一个包含键值对的对象。常用于动态绑定class和style。以及href等;
  12. v-model:在表单上创建双向数据绑定,忽略所有表单元素的value、checked、selected特性的初始值。因为它选择Vue实例数据做为具体的值;
  13. v-on:用来监听dom事件,以便执行一些代码块。

二、v-model 原理解析

答:v-model本质上就是语法糖,即利用v-model绑定数据后,其实就是既绑定了数据,又添加了一个input事件监听。(更深入得需要自己去理解)

三、VueRouter路由访问方式

  1. this.$router.push():跳转到不同的url,但这个方法会向history栈添加一个记录,点击后退会返回到上一个页面。
  2. this.$router.replace():同样是跳转到指定的url,但是这个方法不会向history里面添加新的记录,点击返回,会跳转到上上一个页面。上一个记录是不存在的。
  3. this.$router.go(n):相对于当前页面向前或向后跳转多少个页面,类似 window.history.go(n)。n可为正数可为负数。正数返回上一个页面

四、 methods、watch 和 computer 的区别

  1. computer
    对于页面中属性变动可以使用,对于任何复杂逻辑,你都应当使用计算属性,计算属性是基于它们的响应式依赖进行缓存的,主要当作属性来使用。
  2. methods 方法表示一个具体操作,主要书写业务逻辑。
  3. watch 一个对象,键是需要观察的表达式,值是对应的回调函数,主要用来监听某些待定数据的变化,从而进行某些具体的业务逻辑操作,可以看作computer 和 methods 合体。在数据变化时执行异步或开销较大的操作时,这个方式是最有用的。

以上是面试中的一些问题,可以说越简单的越不能忽视,往往败在最基础最简单的问题,如果以上有任何问题,我会及时更改的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值