15

我有一个 vue 组件来渲染导航列表,并传递导航列表,每个项目都包含标题和链接:

<template>
  <ul>
    <li v-for="item in list"><a v-link="{{ path: item.link }}"></a></li>
  </ul>
</template>

<script>
  export default {
    props: ['list']
  }
</script>

我尝试将变量传递item.link给 v-link 路径,但失败了。

得到这个警告:

[Vue warn]: v-link="{{ path: item.link }}": attribute interpolation is not allowed in Vue.js directives and special attributes.

如果将变量传递给 v-link 路径,我该怎么办?

谢谢阅读 :)

4

3 回答 3

21

我在vue-router 2.x中使用了以下内容:

<router-link :to="{path: '/applications/' + currentApplicationId}" class="nav-link">Overview</router-link>

更多文档可以在这里找到。

于 2017-06-06T06:37:42.133 回答
15

更短的方法是:

<router-link
    :to="`/applications/${currentApplicationId}`"
>Overview</router-link>
于 2019-01-10T06:23:25.473 回答
10

v-link 中的语句不需要“Mustache”语法。

<li v-for="item in list"><a v-link="{ path: item.link }"></a></li>

你可以看到http://router.vuejs.org/en/index.html

于 2016-09-06T09:36:36.883 回答