Javascript Vue-在组件或管线视图中使用axios?

Javascript Vue-在组件或管线视图中使用axios?,javascript,laravel,vue.js,axios,Javascript,Laravel,Vue.js,Axios,例如,我有一个关于汽车的网站。我有一个名为CarData的组件,可以显示特定汽车的品牌、型号、照片等。所有这些都存储在数据库中,可由REST(laravel framework)使用,例如在 “/cars/5”返回JSON,其中包含ID为5的汽车的数据 现在我想在两个不同的地方使用这个组件,两条路线-在关于这个特定车型的页面和在for-ex.主页中显示最新车型。页面上总是有单一车型,没有列出多辆车 我想我可以通过两种方式做到这一点: A.在这两个页面上,我将把组件和传递汽车ID作为道具: <

例如,我有一个关于汽车的网站。我有一个名为CarData的组件,可以显示特定汽车的品牌、型号、照片等。所有这些都存储在数据库中,可由REST(laravel framework)使用,例如在 “/cars/5”返回JSON,其中包含ID为5的汽车的数据

现在我想在两个不同的地方使用这个组件,两条路线-在关于这个特定车型的页面和在for-ex.主页中显示最新车型。页面上总是有单一车型,没有列出多辆车

我想我可以通过两种方式做到这一点:

A.在这两个页面上,我将把组件和传递汽车ID作为道具:

<car-data :car-id:="5"></car-data>

然后在组件中,我将获得这个汽车id道具,并发出ajax请求(由axios)以接收关于汽车id 5的信息并显示在该组件中

B.在这两个页面上,我都会发出这个ajax请求(不在组件中,通过在route视图中),然后传递给已经收到关于car数据的组件。组件将仅用于显示内容,而不进行任何请求

<car-data :car="car"></car-data>

通常我会选择“A”选项,因为重复相同的ajax请求对我来说不合适,但在某个地方我发现了这样的文本 “组件不应直接访问axios。”。所以我不知道该怎么想


也许A和B是错的,我应该做点别的?

我更喜欢选项A,因为这样你只会得到你需要的信息,但是如果你需要在那时显示更多关于一辆车的信息,我建议你先获得所有信息

我希望此资源将对您有所帮助: