3.6 获取数据
3.6.1 asyncData 方法

Nuxt.js 扩展了 Vue.js,增加了一个叫 asyncData 的方法, asyncData 方法会在组件(限于页面组件)每次加载 之前被调用。它可以在服务端或路由更新之前被调用。 在这个方法被调用的时候,第一个参数被设定为当前页面的 上下文对象,你可以利用 asyncData 方法来获取数据,Nuxt.js 会将 asyncData 返回的数据融合组件 data 方法 返回的数据一并返回给当前组件。
注意:由于 asyncData 方法是在组件 初始化 前被调用的,所以在方法内是没有办法通过 this 来引用组件的实例 对象。
例子:

在上边例子中的user/_id.vue中添加,页面代码如下:
[mw_shl_code=applescript,true] <template>
<div>  修改用户信息{{id}},名称:{{name}}
</div> </template> <script>
export default{ layout:'test',     //根据id查询用户信息   asyncData(){   console.log("async方法")   return {   name:'黑马程序员'   }   },  data(){   return {   id:''   }   },  mounted(){    this.id = this.$route.params.id;}
} </script> <style>   </style> [/mw_shl_code]
此方法在服务端被执行,观察服务端控制台打印输出“async方法”。
此方法返回data模型数据,在服务端被渲染,最后响应给前端,刷新此页面查看页面源代码可以看到name模型数 据已在页面源代码中显示。3.6.2 async /await方法
使用async 和 await配合promise也可以实现同步调用,nuxt.js中使用async/await实现同步调用效果。
1、先测试异步调用,增加a、b两个方法,并在mounted中调用。[mw_shl_code=applescript,true]methods:{ a(){    return new Promise(function(resolve,reject){   setTimeout(function () {      resolve(1)     },2000)    })   },   b(){     return new Promise(function(resolve,reject){    setTimeout(function () {     resolve(2)   },1000)   })   } },   mounted(){    this.a().then(res=>{   alert(res)    console.log(res)     })
this.b().then(res=>{    alert(res)    console.log(res)    })  }[/mw_shl_code]
观察客户端,并没有按照方法执行的顺序输出,使用Promise实现了异步调用。2、使用async/await完成同步调用[mw_shl_code=applescript,true]async asyncData({ store, route }) {      console.log("async方法")     var a = await new Promise(function (resolve, reject) {    setTimeout(function () {      console.log("1")   resolve(1)     },2000)    });   var a = await new Promise(function (resolve, reject) {    setTimeout(function () {    console.log("2")     resolve(2)    },1000)    });     return {      name:'黑马程序员'  }     },
[/mw_shl_code]

观察服务端控制台发现是按照a、b方法的调用顺序输出1、2,实现了使用async/await完成同步调用。

转载于:https://blog.51cto.com/13517854/2401453

Java的新项目学成在线笔记-day12(六)相关推荐

  1. Java的新项目学成在线笔记-day12(九)

    3.1.4 搜索页面 创建搜索页面如下: 页面文件参考:"资料"-->"search"-->index_1.vue,重要代码如下: nuxt.js支 ...

  2. Java的新项目学成在线笔记-day12(五)

    3.4.2 嵌套路由  你可以通过 vue-router 的子路由创建 Nuxt.js 应用的嵌套路由. 创建内嵌子路由,你需要添加一个 Vue 文件,同时添加一个与该文件同名的目录用来存放子视图组件 ...

  3. Java的新项目学成在线笔记-day10(三)

    1.4 测试CMS一键发布接口 1.4.1 配置虚拟主机 在nginx配置课程详情页面的虚拟主机,实现访问:www.xuecheng.com/course/detail/.....html. #静态资 ...

  4. Java的新项目学成在线笔记-day13(九)

    6.2.2 创建媒资服务工程 媒资管理的相关功能单独在媒资服务中开发,下边创建媒资服务工程(xc-service-manage-media). 媒资服务的配置与cms类似,导入 "资料&qu ...

  5. Java的新项目学成在线笔记-day14(四)

    1.2.3.5 视频处理生成m3u8 下边是完整的视频处理任务类代码,包括了生成m3u8及生成mp4的代码. [mw_shl_code=applescript,true]@Component publ ...

  6. Java的新项目学成在线笔记-day7(一)

    1.1需求分析 课程添加完成后可通过我的课程进入课程修改页面,此页面显示我的课程列表,如下图所示,可分页查询. 注意:由于课程图片服务器没有搭建,这里在测试时图片暂时无法显示. 上边的查询要实现分页. ...

  7. Java的新项目学成在线笔记-day13(八)

    6 媒资管理 前边章节完成在线视频播放,如何实现点击课程计划播放视频呢,课程视频如何管理呢? 本节开始将对课程视频进行管理. 6.1需求分析 媒资管理系统是每个在线教育平台所必须具备的,百度百科对它的 ...

  8. Java的新项目学成在线笔记-day10(二)

    1.3 课程发布接口 1.3.1 Api接口 此Api接口由课程管理提供,由课程管理前端调用此Api接口,实现课程发布. 在api工程下课程管理包下定义接口: [mw_shl_code=applesc ...

  9. Java的新项目学成在线笔记-day7(二)

    1.3 前端页面说明 我的课程列表使用element 的card组件,如下: 页面布局代码如下: <template> <section> <el‐row >< ...

最新文章

  1. hadoop8088端口查看历史打不开,但是在虚拟机上可以打开的解决办法
  2. 基于 eBPF 的 prometheus 监控方案
  3. 【Groovy】Groovy 方法调用 ( Java 中函数参数是接口类型 | 函数参数是接口类型 可以 直接传递闭包 )
  4. word如何(以标题)另起一页(段落 --> 换行和分页 --> 段前分页)
  5. 优化DOTTEXT之一:缓存配置项
  6. JAVA学习资料整理
  7. 设置 NSZombieEnabled 定位 EXC_BAD_ACCESS 错误
  8. python查找序列元素的最大值和最小值_pthon基础知识(索引、切片、序列相加、乘法、检查元素是否是序列成员、计算序列长度、最大最小值)...
  9. struts2学习笔记(一) MVC模式
  10. 从Photoshop无法启动DeNoise AI Mac作为插件的解决办法
  11. Win10专业工作站版本激活并获得数字权利的方法和密钥
  12. 数据库周刊60丨3月国产数据库排行榜出炉;日本银行数据迁移失败致使业务宕机;阿里云RDS PG13发布;亚健康Oracle数据库故障定位;Redis最佳实践;MySQL查询优化……
  13. ios vs android设计
  14. 刨根问底-AQS源码解析
  15. python-英雄联盟购买界面
  16. 带你一起Piu Piu Piu
  17. 阿里云部署K8s及一些排错体会
  18. C++ 博客专栏汇总 面试学习用 非突击问答式
  19. 生命不息 减肥不止
  20. 【风力发电机模型】风力涡轮机模型包括叶片、机舱、变桨和偏航驱动、发电机和控制系统(MatlabSimulink)

热门文章

  1. python英文文献_python英文文献
  2. 开发实习生做什么_实习生月薪6W,还有住房补贴!投行前台到底是做什么的?...
  3. 物理机Windoes上运行VWware 虚拟机连接外部物理机、外部网络的方法
  4. 解析java匿名内部类
  5. 查询a表有但是b表没有的数据_牛逼!一个上亿数据的报表竟然能做到秒查~
  6. 计算机联锁与全电子执行单元,计算机联锁全电子执行单元.doc
  7. android多功能计算器 源码,Android计算器源码
  8. Zabbix客户端配置环境检查
  9. [RDMA] RDMA 初步使用操作
  10. 修改hosts文件使apache绑定域名指向本机