控制台中显示警告:
未提供id参数。
文档提到将使用当前路线:
当前默认为当前路线(大多数情况下,您不选择 需要更改此内容)
html代码:
<div id="app">
<router-link to="/5">/5</router-link>
<button @click="onClick">Resolve</button>
</div>
js代码:
new Vue({
el: '#app',
router: new VueRouter({
routes: [
{
name: 'foo',
path: '/:id',
component: {
template: '<div>Foo <router-view/></div>',
},
children: [
{
name: 'bar',
path: 'bar',
component: {
template: '<div>Bar</div>'
}
}
]
},
],
}),
methods: {
onClick() {
console.log('Omitting current');
this.$router.resolve({ name: 'bar' });
console.log('Including current');
this.$router.resolve({ name: 'bar' }, this.$route);
}
}
});
答案 0 :(得分:1)
我知道这是过期的,但我会分享发现的结果。
调用$router.resolve()
时,它将使用vue-router/src/util/location.js
的{{1}}来获取normalizeLocation()
对象。
您会看到Location
选项仅用于解析相对路径。
在新current?
中包含current.params
的唯一情况是给定的Location
是相对的,并且本身包含RawLocation
。