vue-router

vue-router

FAQ

1 Vue-Router基本介绍

1.1 基本介绍

Vue Router:Vue.js的官方路由管理器

Vue Router+Vue.js 构建单页面应用

 

路由出口,路由匹配到的组件将渲染在这里

vue-router使用:

定义路由:

const routes = [

{path: '/a', component: A},

{path: '/b', component: B}

]

创建router实例:

const router = new Router({routes})

this.$router 访问路由器

this.$route 访问当前路由

1.2 动态路由匹配

动态路径参数:以冒号开头,后跟参数名

访问动态路径参数: this.$route.params.参数名

响应路由参数的变化:

组件实例复用:

/activityDetail/id1 -> /activityDetail/id2

组件的生命周期钩子不会再被调用

1.3 嵌套路由

children配置参数:

以/开头的嵌套路径会被当作根路径

children中定义的component会被渲染在根组件Layout的<router-view></router-view>中

1.4 路由导航

<router-link to=''></router-link>

相当于<a>标签

js:

this.$router.push(`/url`);

该方法参数实例:

this.$router.push('index')

this.$router.push({path: 'index'})

this.$router.push({name: 'user', params: {userId: 123})

this.$router.push({path: 'user', query:{userId: 123}})

命名路由:

定义:

const routes = [

{path: '/a', name: 'a', component: A},

]

使用:

this.$router.push({name: 'a'})

1.5 重定向

通过路由定义配置来完成:

redirect参数:

2 FAQ

2.1 v-bind

v-bind用于属性绑定

与直接给属性赋值不同的是:v-bind绑定的属性值是动态变化的数据

2.2 TypeError: _self.$scopedSlots.default is not a function

解决方法1:

给两个table各添加一个独立的key属性,来表示这两个元素是独立的,不需要进行复用;

解决方法2:

使用v-show代替v-if

v-show和v-if的区别:

v-if 惰性的,若条件为false则不会渲染;

v-show 不管条件是true还是false都会渲染,渲染是通过改变CSS的display样式;

2.3 mongodb:E11000 duplicate key error collection

问题描述:

mongodb在插入数据时出现id重复的错误

内部原因分析:

同时插入两条数据,导致数据库生成了同一个id值;

外部原因分析:

每次使用同一个变量存储不同的数据,导致数据库认为每次存储的是同一条数据,最终生成同一个id值;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的abou...
    你好陌生人丶阅读 5,561评论 0 6
  • 路由实现的方式 声明式。<router-link :to="..."> 编程式。router.push(...) ...
    SailingBytes阅读 4,799评论 1 3
  • Vue-router学习指南 日记:本文按照vue-router官网的知识结合例子进行分析和讲解,搭建工具(vue...
    sunny519111阅读 5,316评论 0 6
  • 首先抛出这样一个问题,vue-router是用来做什么的? 这里不着急回答,也不准备在这篇文章里回答。这篇文章仅总...
    1263536889阅读 3,813评论 0 2
  • vue-router 基本使用 路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的...
    Jony0114阅读 4,969评论 0 0