Promise和Vue的注意事项

在Vue项目中,有v-if 和v-show两种方法来控制控件的是否显示问题

1、使用v-if相当于是/**/对改行的标签代码进行了注释

2、是v-show相当于修改了标签的style.display为‘none’

注意:当时在使用v-if和ref是有注意事项的例如

<img v-if="show" ref="img">

如果在show = false 的情况下使用this.$refs.img,是无法获取到标签的

相反使用v-show则没有这种问题

如果使用了v-if并且在show = false的情况下,在promise的then方法里使用了

this.$refs.img ,由于无法获取到标签对象,这个时候在promise,then中相当与一个错误,此时catch就会捕捉到这个错误信息,

如下图的错误实例

<img v-if="false" ref="img">

promise.then((reason)=>{

1、//获取到this.$refs.img 为undefine,会传递错误的信息,此时会执行catch代码

console.log(this.$refs.img)

}).catch(error=>{

2、//执行错误的回调函数

})

promise的一点理解

promise.then((reason)=>{

}).catch(error=>{

})

以上的函数写法相当于下面的写法(伪代码)

promise.then((reason)=>{

//如果有错误

   throw errormsg

}).catch(error=>{

})

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,062评论 0 2
  • Promise 对象 Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函...
    neromous阅读 8,735评论 1 56
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,486评论 0 10
  • 注:文章首发于U赞社区 一、项目概略: 英文名称:EthLend 中文名称:以太贷 代币符号:LEND 官网:ht...
    青衫_隐阅读 1,528评论 0 2
  • 今天又去体验轻轨了,现在开始运行的S1线,是东西走向的。上次去了东边,并逛了逛站台所处的环境周边的街道商铺。初步了...
    君远近阅读 184评论 0 2