在 Nuxt 应用里可以用 $fetch 这个全局函数发送 HTTP 请求。打开内容列表页面组件,在组件里添加一组 script,上面加上 setup。
声明一个 posts 表示内容列表数据,await ,然后执行一下 $fetch ,给它提供一个要请求的地址,比如 https://nid-node.ninghao.co/posts ,这个接口可以返回一组内容列表数据。
下面可以在控制台上输出 posts,然后在浏览器测试一下,点击内容打开内容列表页面,观察一下控制台上输出的东西,这里会输出使用 $fetch 请求内容列表接口的时候得到的一组内容列表数据。
在这个组件我们用一下组件里的内容列表数据,一组 div,上面用 v-for 循环一下,post in posts,绑定 key 属性,值是 post.id ,里面包装的是一组 div,然后在它里面绑定输出 post.content,下面再用一组 div,一个小横线,一组 small 标签,里面绑定输出 post.user.name ,内容作者的名字。
观察一下内容列表页面,现在页面上会显示一组内容列表。
现在组件模板的上面会提示一些类型问题, 这是因为我们并没有设置 posts 这个数据的类型,我们可以定义这个内容列表数据类型,或者也可以暂时把它设置成 any ,这样就不会提示错误了。
也可以先不用 typescript,去掉脚本里的 lang 这个属性。