最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 前端增长(vue基础)

    正文概述 掘金(Shanny)   2021-02-13   415

    什么是vue的生命周期?

    new Vue(新建一个实例)

    初始化事件和生命周期

    beforeCreate

    初始化注入(data props methods)和校验

    created

    是否有el,没有调用$mount,将其转成template

    是否有template,没有将el外部的html转为template,有了之后,将template转成render

    beforeMount

    创建vm.$el

    mounted

    当data修改时,会触发beforeUpdateupdated

    beforeDestory

    解除绑定,销毁子组件

    destoryed

    什么是mvvm?

    见 note.youdao.com/s/AutY2Fed

    vue-router如何使用?

    具体见:http://note.youdao.com/s/FYFzfp17

    引入步骤

    • 注册vueRouter
    • 定义路由规则
    • 创建路由对象(并传入路由规则)
    • 导出
    • 在vue实例中注册上】

    动态路由要注意的一个点

    可通过组件的prop来接收url里的动态参数

    $route,$router的区别

    $route是路由规则

    $router是路由对象,存储了路由的相关配置, 可通过currentRoute获取当前路由规则

    vue-router有几种钩子?

    3种,全局的、组件的、单个路由独享的

    全局

    • router.beforeEach
    • router.beforeResolve (在 beforeEach 和 组件内beforeRouteEnter 之后,afterEach之前调用。)
    • router.afterEach

    单个路由的

    cont router = new VueRouter({
        routes: [
            {
                path: '/file',
                component: File,
                beforeEnter: (to, from ,next) => {
                    // do someting
                }
            }
        ]
    });
    

    组件的

    const File = {
        template: `<div>This is file</div>`,
        beforeRouteEnter(to, from, next) {
        	
        },
        beforeRouteUpdate(to, from, next) {
            // do someting
            // 在当前路由改变,但是依然渲染该组件时(即组件复用)调用
        },
        beforeRouteLeave(to, from ,next) {
        
        }
    }
    

    完整的导航解析流程:

    1、导航被触发
    2、在失活的组件里调用离开守卫
    3、调用全局的 beforeEach 守卫
    4、在重用的组件里调用 beforeRouteUpdate 守卫
    5、在路由配置里调用 beforEnter
    6、解析异步路由组件
    7、在被激活的组件里调用 beforeRouteEnter
    8、调用全局的 beforeResolve 守卫
    9、导航被确认
    10、调用全局的 afterEach 钩子
    11、触发 DOM 更新
    12、在创建好的实例调用 beforeRouteEnter 守卫中传给 next 的回调函数
    

    路由懒加载

    见官网:https://router.vuejs.org/zh/guide/advanced/lazy-loading.html#%E6%8A%8A%E7%BB%84%E4%BB%B6%E6%8C%89%E7%BB%84%E5%88%86%E5%9D%97

    vue-loader有什么作用?

    解析和转换.vue文件。提取出其中的逻辑代码 script,样式代码style,以及HTML 模板template,再分别把他们交给对应的loader去处理

    vue里的data为什么是返回一个函数?

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

    v-if v-for哪个先执行

    v-for

    所以循环时,最好先对v-if里的条件做过滤

    vue如何检测数组变化

    vue3种是可以检测到的,

    vue2需要使用vue.set,或者使用 splice,caoncat等修改数组

    delete和Vue.delete删除数组的区别

    见 zhuanlan.zhihu.com/p/80601923

    vue-router与location.href的用法区别

    • vue-router使用pushState进行路由更新,静态跳转,页面不会重新加载;location.href会触发浏览器,页面重新加载一次

    • vue-router使用diff算法,实现按需加载,减少dom操作

    • vue-router是路由跳转或同一个页面跳转;location.href是不同页面间跳转;

    • vue-router是异步加载this.$nextTick(()=>{获取url});location.href是同步加载

    vue-router里的query,param有什么区别?

    • 使用params传参只能用name来引入路由,即push里面只能是name:’xxxx’,不能是path:’/xxx’,因为params只能用name来引入路由,如果这里写成了path,接收参数页面会是undefined!!!。

    使用query传参使用path来引入路由。

    • params是路由的一部分,必须要在路由后面添加参数名。query是拼接在url后面的参数,没有也没关系。
    • 二者还有点区别,直白的来说query相当于get请求,页面跳转的时候,可以在地址栏看到请求参数,而params相当于post请求,参数不会再地址栏中显示。

    起源地下载网 » 前端增长(vue基础)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元