杨子荣归隐山林 發表於 2020-5-3 12:30:00

Cannot read property 'data' of undefined —— 小程序开发

<p>  由于疫情原因目前处于半下岗状态,在家的时候就研究起了小程序开发。由于是新手,所以总会遇到各种问题,顺便记录一下。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">wx.showModal({
title: </span>'提示'<span style="color: rgba(0, 0, 0, 1)">,
content: </span>'这是一个模态弹窗'<span style="color: rgba(0, 0, 0, 1)">,
success (res) {
    </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> (res.confirm) {
      </span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.data.messageId
    } </span><span style="color: rgba(0, 0, 255, 1)">else</span> <span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> (res.cancel) {
      console.log(</span>'用户点击取消'<span style="color: rgba(0, 0, 0, 1)">)
    }
}
})</span></pre>
</div>
<p>  如果这么写,会遇到“<span style="color: rgba(255, 0, 0, 1)">Cannot read property 'data' of undefined&nbsp;”</span>的错误。</p>
<p>&nbsp;</p>
<p>  如果改成箭头函数的写法,就不会出错。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">wx.showModal({
title: </span>'提示'<span style="color: rgba(0, 0, 0, 1)">,
content: </span>'这是一个模态弹窗'<span style="color: rgba(0, 0, 0, 1)">,
success :(res)</span>=&gt;<span style="color: rgba(0, 0, 0, 1)"> {
    </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> (res.confirm) {
      </span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.data.messageId
    } </span><span style="color: rgba(0, 0, 255, 1)">else</span> <span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> (res.cancel) {
      console.log(</span>'用户点击取消'<span style="color: rgba(0, 0, 0, 1)">)
    }
}
})</span></pre>
</div>
<p>  分析原因,箭头函数是ES6的写法,不同的写法,会导致“this”的指代层级不同,所以会找不到data属性。</p>
<p>&nbsp;</p>

</div>
<div id="MySignature" role="contentinfo">
    你关注的人都在努力变的更好,你还在等什么呢。<br><br>
来源:https://www.cnblogs.com/iverson-3/p/12821454.html
頁: [1]
查看完整版本: Cannot read property 'data' of undefined —— 小程序开发