当前位置:   article > 正文

Nuxt之asyncData方法获取数据

nuxt2 asyncdata 如何使用$ap获取数据
在项目中需要在初始化页面前先得到数据,也就是我们常说的异步请求数据。Nuxt.js贴心的为我们扩展了Vue.js的方法,增加了anyncData方法。从名字上就很好理解,这是一个异步的方法。

一. 创建远程数据

在这里制作一些假的远程数据,我选择的网站是myjson.com,它是一个json的简单仓库,学习使用是非常适合的。 我们打开网站,在对话空中输入JSON代码,这个代码可以自己随意输入哦。

  1. {
  2. "name": "laowang",
  3. "age": 18,
  4. "interest": "I love coding"
  5. }
  6. 复制代码

输入后,网站会给你一个地址,这就是你这个JSON仓库的地址了。

https://api.myjson.com/bins/mr6ma

二. 安装Axios

npm i axios --save复制代码

三. ansycData的promise方法

在pages下新建文件asyncData.vue

  1. <template>
  2. <div>
  3. <h1>姓名:{{info.name}}</h1>
  4. <h1>年龄:{{info.age}}</h1>
  5. <h1>兴趣:{{info.interest}}</h1>
  6. {{name}}
  7. </div>
  8. </template>
  9. <script>
  10. import axios from 'axios'
  11. export default {
  12. data() {
  13. return {
  14. name: 'Hello World'
  15. }
  16. },
  17. asyncData() {
  18. return axios.get('https://api.myjson.com/bins/mr6ma')
  19. .then((res) => {
  20. return {info: res.data}
  21. })
  22. }
  23. }
  24. </script>
  25. 复制代码

这时候我们可以看到,浏览器中已经能输出结果了。

四. ansycData的await方法

当然上面的方法稍显过时,现在都在用ansyc…await来解决异步,改写上面的代码。

  1. <template>
  2. <div>
  3. <h1>姓名:{{info.name}}</h1>
  4. <h1>年龄:{{info.age}}</h1>
  5. <h1>兴趣:{{info.interest}}</h1>
  6. {{name}}
  7. </div>
  8. </template>
  9. <script>
  10. import axios from 'axios'
  11. export default {
  12. data() {
  13. return {
  14. name: 'Hello World'
  15. }
  16. },
  17. async asyncData() {
  18. let { data } = await axios.get('https://api.myjson.com/bins/mr6ma')
  19. return { info: data }
  20. }
  21. }
  22. </script>复制代码


本文引用于技术胖nuxt教程,感谢胖哥


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/971380
推荐阅读
相关标签
  

闽ICP备14008679号