使用vue-router在组件之间传递数据

时间:2018-11-26 20:16:01

标签: vue.js

还有一个与我的名字相似的问题,但这就是我的问题所在。让我们以一个非常普通的情况为例,我正在制作一本食谱书。 我正在遍历我的食谱并创建一个指向Recipe.vue组件的链接:

<router-link v-for="recipe in recipes" :to="{path: `/recipe/${recipe.title}`">
     <a>{{recipe.id}}</a>
</router-link> 

现在,据我了解,解决方案很少: 1.设置props:true并传递一个道具: <router-link v-for="recipe in recipes" :to="{name: 'Recipe', params: {recipe}}"> <a>{{recipe.title}}</a> </router-link>

  1. Recipe设置为子组件,并以regur parent =>子数据传输的形式传递数据

  2. 使用Vuex和状态管理从Recipe组件中的存储中“撤回”数据

  3. 将ID传递给Recipe组件,然后当其mounted()执行http请求以获取特定项目的数据时。

我发现这里很难理解什么是最佳实践,我应该为我的生产环境选择什么。

我内心的声音说,数字3 –状态管理是一个过大的杀手,#4是不必要的api调用,因为我已经拥有了我需要的数据。

在以下基本情况下,我应该使用哪种方法的任何建议:第一个组件是配方列表,然后从其导航到仅用于显示配方数据的组件?

0 个答案:

没有答案