如何在方法函数中将参数传递给 vue.js 路由器?

新手上路,请多包涵

我正在尝试将“joke.id”作为参数发送到路由器:

 edit: function(joke) {
    this.$router.push({ '/edit/' + joke.id });
}

相关路线为:

 {path: '/edit/:id', component: editJoke, name: 'editJoke'},

但是我在控制台中得到了这个:

模块构建失败:SyntaxError:意外的令牌

this.$router.push({ '/edit/' + joke.id });
  |                          ^

我怎样才能解决这个问题?

原文由 Karlom 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 356
2 个回答

push 函数中不需要花括号。你的代码应该是这样的:

 this.$router.push('/edit/' + joke.id);

原文由 muazhud 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以使用以下语法将参数传递给路由器:

 edit: function(joke) {
    this.$router.push('/edit/' + joke.id)
}

如果您已命名您的路线,您可以改用此语法:

 edit: function(joke) {
    this.$router.push({ name: 'edit', params: { id: joke.id }})
}

在此处 阅读有关使用 Vue Router 进行编程导航的更多信息。

原文由 awnton 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题