当前位置:   article > 正文

9.8.1顺丰二面准备

顺丰二面

1.Vue组件data为什么必须是个函数

Vue组件可能存在多个实例,JS 里对象是引用关系,如果使用对象形式定义data,则会导致它们共用一个data对象,那么状态变更将会影响所有组件实例,这是不合理的;采用函数形式定义,每个实例中的data都因为函数有了自己的作用域,互不干扰。有效规避多实例之间状态污染问题。而在Vue根实例创建过程中则不存在该限制,也是因为根实例只能有一个,不需要担心这种情况。

2.keep-alive

keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,避免重新渲染 ,其有以下特性:

o 一般结合路由和动态组件一起使用,用于缓存组件;

​ 在项目中的应用场景:
在这里插入图片描述

o 提供 include 和 exclude 属性,两者都支持字符串或正则表达式, include 表示只有名称匹配的组件会被缓存,exclude 表示任何名称匹配的组件都不会被缓存 ,其中 exclude 的优先级比 include 高;

o 对应两个钩子函数 activated 和 deactivated ,当组件被激活时,触发钩子函数 activated,当组件被移除时,触发钩子函数 deactivated。

3. 作用域的理解:

https://segmentfault.com/a/1190000002792608?utm_source=sf-related

作用域链的用途:保证对执行环境有权访问的所有变量和函数的 有序 访问。

作用域链是由一个一个变量对象链接起来的一个链,整个作用域链构成了当前执行环境中变量和函数可访问的范围,即作用域。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/943442
推荐阅读
相关标签
  

闽ICP备14008679号