"Nuxt.js:使用URL传递ID"
P粉511985082
P粉511985082 2023-08-26 00:11:20
0
2
532
<p>我想要获取用户ID,所以我有一个下拉按钮=</p> <pre class="brush:html;toolbar:false;"><v-menu transition="slide-y-transition" bottom offset-y > <template v-slot:activator="{ on, attrs }" > <v-btn color="primary" dark v-bind="attrs" v-on="on" > 列表 </v-btn> </template> <v-list> <v-list-item v-for="(item, index) in items" :key="index" :to="item.url" > <v-list-item-title>{{item.title}}</v-list-item-title> </v-list-item> </v-list> </v-menu> </pre> <p>和这个数据:</p> <pre class="brush:html;toolbar:false;"><script> export default { data: () => ({ items: [ { title: '用户列表', url: '`/user/function/listUser/${route.params.id}`' }, { title: '用户结构', url: '`/user/function/structUser/${route.params.id}`' } ] }) } </script> </pre> <p>我的意图是发送用户ID。这样,我实际上可以通过<code>route.params.id</code>获得</p> <pre class="brush:js;toolbar:false;">url: '`/user/function/structUser/${route.params.id}`' </pre> <p>不起作用,我做错了什么?</p>
P粉511985082
P粉511985082

全部回复(2)
P粉060112396
  1. 模板字符串只使用反引号,但你的字符串同时使用了单引号和反引号。

  2. 替换值(route.params.id)引用了一个在你的示例中似乎未定义的route变量。我认为你想要访问this.$route,所以实际的替换应该是this.$route.params.id

items数组应该像这样:

export default {
  data() {
    return {
      items: [
        {
          title: 'List User',
          url: `/user/function/listUser/${this.$route.params.id}`
        },
        {
          title: 'structure User',
          url: `/user/function/structUser/${this.$route.params.id}`
        }    
      ]
    }
  }
}

演示

P粉293341969

这是一个例子

`/user/function/structUser/${this.$route.params.id}`

另外,也许尝试在一个computed中使用它,因为它可能不是计算属性。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板