vue-router2.0实例方法router.go(),参数只支持数字,怎么传入路径字符串

来源:15-5 Vue-router(下)

wkyseo

2017-01-25

像教程这样router.go('/goods'),启动后页面一直在跳转,不停刷新,看了下router的go方法,支持数字怎么整,怎么设置默认的路由

写回答

2回答

ustbhuangyi

2017-01-25

2.0 router 的 api 已经改了,对应 1.0 的 go 方法,2.0 是 push。默认路由也可以配置根路由,具体代码可以参加源码:https://github.com/ustbhuangyi/vue-sell

1
1
wkyseo
非常感谢!大神
2017-01-25
共1条回复

wkyseo

提问者

2017-01-25

谢谢,

function pushState (url, replace) {
  // try...catch the pushState call to get around Safari
  // DOM Exception 18 where it limits to 100 pushState calls
  var history = window.history
  try {
    if (replace) {
      history.replaceState({ key: _key }, '', url)
    } else {
      _key = genKey()
      history.pushState({ key: _key }, '', url)
    }
    saveScrollPosition(_key)
  } catch (e) {
    window.location[replace ? 'replace' : 'assign'](url)
  }
}

查看了下这是vue-router的实现push的实现,还是对history API不太熟,以为pushState不会触发popstate事件, 没去尝试过push方法, 感谢大神

0
1
wkyseo
pushState确实不会触发popstate事件,虽然会改变history stack的当前指针
2017-02-17
共1条回复

Vue.js2.5+cube-ui重构饿了么App(经典再升级)

掌握Vue1.0到2.0再到2.5最全版本应用与迭代,打造极致流畅的WebApp

9868 学习 · 4162 问题

查看课程