当用户进入或离开页面时,会触发 onload 和 onunload 事件。
onload 事件可用于检查访客的浏览器类型和版本,以便基于这些信息来加载不同版本的网页。
onload 和 onunload 事件可用于处理 cookies。
<body onload="checkCookies()">
在 return 前面使用 console.log 打印一下 list,看看有没有赋值成功,另外也可以不需要异步初始化数据,直接去掉 await,async 看看能不能显示出来。
不能直接修改reactive的值,你的swiperList使用reactive定义, swiperList就是一个响应式代理,直接修改swiperList就变成了常量,是无法追踪数据的,将reactive换成ref,赋值的时候使用swiperList.value
写的没问题,但是你直接赋值覆盖了那个代理了
将reactive换成ref,赋值的时候使用swiperList.value
uni-app中使用vue3语法详解
小白可以跟着做,写的非常详细,可以看看
如果你的请求接口没有问题,在console.log(res)那里可以正常打印出正确的数据的话,那么应该就是你后面的赋值的问题,以及界面展示方面的问题了。
import { defineAsyncComponent } from 'vue-cli-service'
const AsyncComponent = defineAsyncComponent(() => import('./components/AsyncComponent.vue'))
export default {
components: {
AsyncComponent
},
// ...
}
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
data: []
},
getters: {
getData: state => state.data
}
})
import { ref } from 'vue'
import { mapGetters } from 'vuex'
export default {
setup() {
const data = ref(null)
const getData = mapGetters(['getData'])
created() {
axios.get('/api/data').then(response => {
data.value = response.data
})
}
return {
data,
getData
}
}
}
用控制台打印一下数据,看正常不
当使用Vue 3语法初始化数据时,您可以使用setup
函数来异步初始化数据。下面是一个示例,展示了在Uni-app中使用Vue 3语法进行异步数据初始化的例子:
<template>
<div>
<h1>{{ message }}</h1>
<ul>
<li v-for="item in list" :key="item.id">{{ item.name }}</li>
</ul>
</div>
</template>
<script>
import { ref, onMounted } from 'vue';
export default {
setup() {
// 使用ref创建响应式数据
const message = ref('');
const list = ref([]);
// 使用onMounted钩子在组件挂载后执行异步操作
onMounted(async () => {
// 模拟异步获取数据
const response = await fetchData();
message.value = response.message;
list.value = response.list;
});
// 模拟异步获取数据的函数
async function fetchData() {
// 发起异步请求获取数据
const response = await fetch('https://api.example.com/data');
const data = await response.json();
return data;
}
// 返回需要暴露给模板的数据
return {
message,
list
};
}
};
</script>
在上述代码中,我们使用了Vue 3的ref
函数来创建响应式数据message
和list
。然后,在onMounted
钩子函数中,我们使用async/await
语法执行异步操作,例如模拟通过API获取数据。在数据获取完成后,我们更新message
和list
的值,由于它们是响应式的,页面将自动更新以反映新的值。
请注意,setup
函数是Vue 3的新特性,用于替代Vue 2中的data
、computed
、methods
等选项。通过setup
函数,我们可以更灵活地编写组件逻辑,并使用Vue 3的新特性。
你可以看看上面的例子,你的代码可以直接贴出来吗?
具体的原因我还没看到,
我第一眼看到的就是 async 这个语法去掉试试,
另外将你的数据改为静态数据,先保证数据可以正常显示,排除接口问题
还不行的话我远程看看