【发布时间】:2020-01-01 10:32:54
【问题描述】:
我正在尝试创建一个列表组件,它呈现一个路由器链接列表,其中每个路由器链接都有一个作用域插槽。 router-link 的 to-prop 应该由 parent 配置。
父组件应该可以配置router-link的to-prop,而不必自己实现router-link。或者如果它必须自己实现路由链接,列表组件应该能够将类传递给每个路由链接。
我创建了一个代码笔来显示我想要解决的问题。当然,如果您对此有任何疑问或有任何不清楚的地方,请告诉我。 https://codepen.io/Buffalom/pen/KKPmJPx
这是我想要达到的目标的总结:
<router-link v-for="item in items" to="/" class="abc">
<!-- :to should be configurable by the parent -->
<slot :item="item"></slot>
</router-link>
我希望父级能够呈现具有给定项目数组的列表,但将每个路由器链接配置为自身。
更新
我想在父组件中采用这样的理想方式:
<List :items="items" :to="`/1/${item.name}`">
...
作为 to-prop 中的项目,items 中的每个项目都将用于列表组件本身的 v-for router-link。有点像反向作用域插槽...^^
【问题讨论】:
-
to属性动态数据从哪里来,是在items数组中吗? -
@ambianBeing 我想这将是一个放在父组件上的路径字符串,由 items 数组的每个单独项目的子字符串和数据组成。例如。 "/1/${当前项的名称}"
标签: javascript vue.js vue-router