Vue2 Composition Api - 如何从 api 获取数据?
Vue2 Composition Api - How do I fetch data from api?
我正在使用 Vue2.6 和组合 api。
我需要根据 api 响应重新路由到不同的页面。
有人可以指导我吗?
我尝试使用 onBeforeMount,但它会呈现 UI 元素,然后将其重新路由到 api 响应的相应页面。所以我可以看到错误 UI 的闪光。 .
setup() {
const myData = 'myData';
onBeforeMount(async () => {
try {
const results = await fetchData();
// do reroute depends on results response
}
} catch (err) {
console.log(err);
}
});
return {
myData,
};
我也尝试在设置方法中添加异步,但它错误地指出我的引用变量“属性 或方法“myData”未在实例上定义,但在渲染期间被引用。”
async setup() {
const myData = 'myData';
onMounted(async () => {
try {
const results = await fetchData();
// do reroute depends on results response
}
} catch (err) {
console.log(err);
}
});
return {
myData,
};
您似乎在尝试从组件内部动态处理路由 (re-routing)。我看不到其余的应用程序,因此无法说明此类解决方案的有效性,但希望您能劝阻您这样做。 IMO,路由逻辑不应该在组件中处理。这些组件应该主要只处理模板和用户交互。当您渲染组件时,API 应该已经解决了。
我建议在路由之前解决 API 响应
甚至完成。您或在路由执行期间使用 navigationGuard
来解析 API。此功能是异步的,因此您可以在继续之前等待响应。
或者,如果你真的想在组件中处理它,你会在 API 解析时有延迟,但你可以实现一些加载器动画来改善体验。
我正在使用 Vue2.6 和组合 api。 我需要根据 api 响应重新路由到不同的页面。 有人可以指导我吗?
我尝试使用 onBeforeMount,但它会呈现 UI 元素,然后将其重新路由到 api 响应的相应页面。所以我可以看到错误 UI 的闪光。 .
setup() {
const myData = 'myData';
onBeforeMount(async () => {
try {
const results = await fetchData();
// do reroute depends on results response
}
} catch (err) {
console.log(err);
}
});
return {
myData,
};
我也尝试在设置方法中添加异步,但它错误地指出我的引用变量“属性 或方法“myData”未在实例上定义,但在渲染期间被引用。”
async setup() {
const myData = 'myData';
onMounted(async () => {
try {
const results = await fetchData();
// do reroute depends on results response
}
} catch (err) {
console.log(err);
}
});
return {
myData,
};
您似乎在尝试从组件内部动态处理路由 (re-routing)。我看不到其余的应用程序,因此无法说明此类解决方案的有效性,但希望您能劝阻您这样做。 IMO,路由逻辑不应该在组件中处理。这些组件应该主要只处理模板和用户交互。当您渲染组件时,API 应该已经解决了。
我建议在路由之前解决 API 响应
甚至完成。您或在路由执行期间使用 navigationGuard
来解析 API。此功能是异步的,因此您可以在继续之前等待响应。
或者,如果你真的想在组件中处理它,你会在 API 解析时有延迟,但你可以实现一些加载器动画来改善体验。