【Vue】VUE查漏补缺

13 篇文章 0 订阅

.sync和v-model区别

.sync
1、
以前是父组件绑定一个值,然后通过props传给子组件,子组件需要修改时候,子组件触发$emit方法,提交给父组件进行修改。操作如下:

this.$emit('update:title', newTitle)

然后父组件可以监听那个事件并根据需要更新一个本地的数据属性。例如:

<text-document  v-bind:title="doc.title"  v-on:update:title="doc.title = $event"></text-document>

为了方便起见,我们为这种模式提供一个缩写,即 .sync 修饰符,当子组件props发生改变之后,自动同步到父组件:

<text-document v-bind:title.sync="doc.title"></text-document>

2、当要用一个对象指定多个props的时候,可以使用.sync修饰符。例如

<text-example v-bind.sync="obj">

此时,obj里面的属性都会被当成独立的props传递下去

3、.sync修饰符的v-bind不能和表达式一起用,例如

<text-example v-bind:title.sync="obj.name + '!' ">

vue-router的对象属性

$route.path
类型: string
字符串,对应当前路由的路径,总是解析为绝对路径,如 “/foo/bar”。

$route.params
类型: Object
一个 key/value 对象,包含了动态片段和全匹配片段,如果没有路由参数,就是一个空对象。

$route.query
类型: Object
一个 key/value 对象,表示 URL 查询参数。例如,对于路径 /foo?user=1,则有 $route.query.user == 1,如果没有查询参数,则是个空对象。

$route.hash
类型: string
当前路由的 hash 值 (带 #) ,如果没有 hash 值,则为空字符串。

$route.fullPath
类型: string
完成解析后的 URL,包含查询参数和 hash 的完整路径。

$route.matched
类型: Array
一个数组,包含当前路由的所有嵌套路径片段的路由记录 。路由记录就是 routes 配置数组中的对象副本 (还有在 children 数组)。

const router = new VueRouter({
  routes: [
    // 下面的对象就是路由记录
    { path: '/foo', component: Foo,
      children: [
        // 这也是个路由记录
        { path: 'bar', component: Bar }
      ]
    }
  ]
})

当 URL 为 /foo/bar,$route.matched 将会是一个包含从上到下的所有对象 (副本)。

$route.name
当前路由的名称,如果有的话。(查看命名路由)

$route.redirectedFrom
如果存在重定向,即为重定向来源的路由的名字。(参阅重定向和别名)

路由生命周期

触发顺序为:
全局路由对象route -》 单独路由配置 -》 组件内部路由
在这里插入图片描述
1、beforeEach (route)
2、beforeRouterUpdate (组件内)
3、beforeEnter (单独路由配置)
4、
4.1 beforeRouterEnter (组件内)
4.1 beforeRouterUpdate
4.2 beforeRouterLeave
5、beforeResolve (route)
6、afterEach (route)

beforeRouterEnter 的this不能使用,怎么解决
beforeRouterEnter钩子函数的时候,组件被未被创建,所以获取不到组件实例的this
利用next()的回调函数,例如:

beforeRouterEnter(to,from,next){
    next( vm => {
   		 vm.data     //组件里的data
    })
}

$matched(面包屑)是什么?

路由导航条,如下
主页 >栏目页>文章页面
目的就是提供访问深度导航地址

什么是hashchange监听函数

页面url中hash部分发生变化的时候执行的函数

**dispatch为什么是异步?

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值