Vue.js 两个vue组件调用相同的API函数
我在同一父组件上有两个组件实例,该子组件在创建的生命周期挂钩中进行API调用,以填充下拉列表。子对象的两个实例的列表数据将相同 所以结果是,当我的父组件被加载时,我实际上调用了两次API,这是不必要的 我的问题是,如果我只想调用一次API,我应该将API调用移动到父级并将下拉列表项传递给子级,还是使用vuex并让父级调用调用API的操作。然后,该操作将项目保存到状态,子组件将通过存储getter访问项目Vue.js 两个vue组件调用相同的API函数,vue.js,vuex,Vue.js,Vuex,我在同一父组件上有两个组件实例,该子组件在创建的生命周期挂钩中进行API调用,以填充下拉列表。子对象的两个实例的列表数据将相同 所以结果是,当我的父组件被加载时,我实际上调用了两次API,这是不必要的 我的问题是,如果我只想调用一次API,我应该将API调用移动到父级并将下拉列表项传递给子级,还是使用vuex并让父级调用调用API的操作。然后,该操作将项目保存到状态,子组件将通过存储getter访问项目 我很想使用vuex存储,因为列表很小,并且可能需要当前父级以外的其他位置 如果需要将相同的数
我很想使用vuex存储,因为列表很小,并且可能需要当前父级以外的其他位置 如果需要将相同的数据呈现给多个组件,则应使用Vuex store。Vuex store在初始设置级别增加了代码复杂性,但在多个组件中使用API数据非常简单和轻松。这并不意味着在每个应用程序中都要使用Vuex存储。如果您开发的应用程序本质上是渐进式的,并且将来会变得更加复杂,那么就开始使用Vuex store。这将有助于你今后的发展。以下是所有详细信息。TLDR
- 如果要在父->子关系之外使用它,请使用Vuex
- 如果您知道它将是简单和小的,那么将其作为道具传递也同样有效,并降低了建立商店的复杂性
- 另一种选择是将其存储在localStorage中,但这可能不如您所希望的可靠,因为清除缓存的人将丢失下拉列表的功能