vue的使用易错点总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue的使用易错点总结相关的知识,希望对你有一定的参考价值。

1.在使用vue-router时,路由的嵌套中,子路由不加/。因为以 / 开头的嵌套路径会被当作根路径。

如:

const router = new VueRouter({
  routes: [
    { path: /user/:id, component: User,
      children: [
        {
          // 当 /user/:id/profile 匹配成功,
          // UserProfile 会被渲染在 User 的 <router-view> 中
          path: profile,   //这里的profile不要写成/profile,否则会被当做根路径
          component: UserProfile
        },
        {
          // 当 /user/:id/posts 匹配成功
          // UserPosts 会被渲染在 User 的 <router-view> 中
          path: posts,
          component: UserPosts
        }
      ]
    }
  ]
})

vue-router有两种使用方式:一种是<router-link to="home"></router-link>标签(官网上to前加了:to,但是我在实际项目中这样写报错,不加的时候正常),一种是编程式导航:

该方法的参数可以是一个字符串路径,或者一个描述地址的对象。例如:

// 字符串
router.push(home)    //push方法里的路径前不用加/,标签式的也不用加/

// 对象
router.push({ path: home })

// 命名的路由
router.push({ name: user, params: { userId: 123 }})

// 带查询参数,变成 /register?plan=private
router.push({ path: register, query: { plan: private }})

 

注意:如果提供了 pathparams 会被忽略,上述例子中的 query 并不属于这种情况。取而代之的是下面例子的做法,你需要提供路由的 name 或手写完整的带有参数的 path

const userId = 123
router.push({ name: user, params: { userId }}) // -> /user/123
router.push({ path: `/user/${userId}` }) // -> /user/123
// 这里的 params 不生效
router.push({ path: /user, params: { userId }}) // -> /user

 

同样的规则也适用于 router-link 组件的 to 属性。

以上是关于vue的使用易错点总结的主要内容,如果未能解决你的问题,请参考以下文章

OO易错点总结

函数-易错点总结

C++基础知识 易错点 总结(待补)

C++基础知识 易错点 总结(待补)

易错点总结

指针指向空间的申请和释放易错点