前端面试积累Day five

114 阅读2分钟

Vue-cli 自定义指令

首先在src文件夹里面与components文件夹同级的位置可以创建一个directives文件夹,里面就可以放一些自定义的一些组件。其中可以包括一些钩子函数(如下),然后就跟data一样在组件中正常的进行directives注册就可以直接在元素中使用 "v-自定义组件"。

  1. bind(el,binding){}
    只执行一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。 参数一般都是el和binding,el表示指令绑定的元素,binging涵盖指令的一些信息,自定义组件在元素上的传递的参数就可以通过binding.value方法来进行获取。

  2. inserted(el,binding){} 被绑定元素插入到父节点时调用,基本上都是这个钩子函数,而且el.parentNode才起作用。

  3. update(el,binding){}
    所在组件的VNode更新时调用,但是可能发生在其子VNode更新之前

  4. componentUpdated(el,binding){}
    指令所在组件的VNode及其子VNode全部更新后调用。

  5. unbind(el,binding){}
    只调用一次,指令与元素解绑定的时候调用。

Vue中的指令有哪些

v-for...

Vue中过滤器的使用

Vue种过滤器的本质就是一个有参数有返回值的方法。

    new Vue({
        filters:{
            myFilter:function(myInput){
                #处理数据
                return 处理后的数据
            }
        }
    })

使用的方法是:

    <h1>{{表达式(含data) | 过滤器(myFilter)}}</h1>

过滤器还有高级用法:可以指定参数,告诉过滤器按照参数进行数据的过滤。

Vue 中keep-alive的理解

概念:keep-alive是vue中的一个内置组件,当它动态的包裹组件时,会缓存不活跃的组件实例。而它自身不会渲染成一个DOM元素也不会出现在父组件链中。
作用:它可以在组件切换过程中将状态保留在内存中,防止重复渲染DOM,减少加载时间以及性能消耗,提高用户体验。
生命周期函数,Activited在keep-alive组件激活时调用。deactivited在keep-alive组件停用时调用。