所以帮助我理解一些事情。有关详细信息,我使用Laravel作为后端语言,将Vuejs作为前端。
用户想要访问页面以查看在我的控制器上点击show方法的特定项目。 show方法加载与该项目有关的所有数据以显示在页面上。此展示页面由许多不同的视图部分组成,其中一些部分是不同的Vue组件,它们将显示与项目相关的不同数据集。是否更好地将所有数据通过props传递给所需的不同Vue组件,或者只是将整个项目作为prop传递,然后引用组件内项目的属性?或者我应该传递项目Id,然后使用方法来使用项目ID获取该组件的特定数据。
答案 0 :(得分:0)
我认为你提到的三种方法都是完全有效的。这取决于您希望如何构建组件。
您是否想使用“哑”或不了解“项目”结构的通用组件?然后,您的主要组件应将相关的数据传递给子组件。
子组件是否特定于“项目”而不能在其他任何地方重复使用?然后传递项目参考,每个组件获取他们感兴趣的数据片段也是一个很好的策略。
我可能会避免使用最后一个选项来避免多次服务器往返,尽管如果项目的某个特定部分需要花费大量时间来检索(例如子列表),它可能会很有用任务)。您可以在两次或三次调用中拆分数据提取,以使主视图快速呈现,同时耗时的查询仍在执行并在可用时填充。