zoukankan      html  css  js  c++  java
  • vue使用技巧

    1,路由懒加载写法:

     // 我所采用的方法,个人感觉比较简洁一些,少了一步引入赋值。
     const router = new VueRouter({
      routes: [
      path: '/app',
      component: () => import('./app'), // 引入组件
      ]
     })
     // Vue路由文档的写法:
     const app = () => import('./app.vue') // 引入组件
     const router = new VueRouter({
      routes: [
      { path: '/app', component: app }
      ]
     })

    2,路由的项目启动页和404页面

    一般项目都会设置这个,如果默认进入地址会跳到login页面,如果你输入的是一个没有用的路由或者是空路由会跳转到notFind页面(你自己设置的404页面)

     export default new Router({
      routes: [
      {
       path: '/', // 项目启动页
       redirect:'/login' // 重定向到下方声明的路由 
      },
      {
       path: '*', // 404 页面 
       component: () => import('./notFind') // 或者使用component也可以的
      },
      ]
     })

    3,setTimeout/setInterval this指向改变,无法用this访问VUe实例

    这个地方大家的默认方法肯定是:

     //使用变量访问this实例
     let self=this;
      setTimeout(function () { 
       console.log(self);//使用self变量访问this实例
      },1000);

    其实这个地方我们可以用箭头函数,因为箭头函数会改变this的指向,而指向的刚好是自己的父级this,所以我们可以这样用:

     //箭头函数访问this实例 因为箭头函数本身没有绑定this
      setTimeout(() => { 
      console.log(this);
     }, 500);

    这样我们的this就是指向我们的vue实例了

    4,深度watch与watch立即触发回调

    watch很多人都在用,但是这watch中的这两个选项deep、immediate,或许不是很多人都知道,我猜。

    选项:deep

    在选项参数中指定 deep: true,可以监听对象中属性的变化。

    选项:immediate

    在选项参数中指定 immediate: true, 将立即以表达式的当前值触发回调,也就是默认触发一次。

     watch: {
      obj: {
       handler(val, oldVal) {
       console.log('属性发生变化触发这个回调',val, oldVal);
       },
       deep: true // 监听这个对象中的每一个属性变化
      },
      step: { // 属性
       //watch
       handler(val, oldVal) {
       console.log("默认触发一次", val, oldVal);
       },
       immediate: true // 默认触发一次
      },
      }
  • 相关阅读:
    html基础起航
    必杀技———SQL基础整理系列(一)
    JavaScript代码段整理笔记系列(一)
    与JSP的初次邂逅……
    产品第二篇
    产品第一篇
    进程在后台可靠运行的几种方法
    Vue.js模板语法
    更靠谱的横竖屏检测方法
    浮动【电梯】或【回到顶部】小插件:iElevator.js
  • 原文地址:https://www.cnblogs.com/freyfeng/p/9954793.html
Copyright © 2011-2022 走看看