还有一个与我的名字相似的问题,但这就是我的问题所在。让我们以一个非常普通的情况为例,我正在制作一本食谱书。
我正在遍历我的食谱并创建一个指向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>
将Recipe
设置为子组件,并以regur parent =>子数据传输的形式传递数据
使用Vuex和状态管理从Recipe
组件中的存储中“撤回”数据
将ID传递给Recipe
组件,然后当其mounted()
执行http请求以获取特定项目的数据时。
我发现这里很难理解什么是最佳实践,我应该为我的生产环境选择什么。
我内心的声音说,数字3 –状态管理是一个过大的杀手,#4是不必要的api调用,因为我已经拥有了我需要的数据。
在以下基本情况下,我应该使用哪种方法的任何建议:第一个组件是配方列表,然后从其导航到仅用于显示配方数据的组件?