AppGallery Connect:如何解决快应用堆栈溢出问题

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:Mayism网络

小提示:您能找到这篇{AppGallery Connect:如何解决快应用堆栈溢出问题}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的AppGallery Connect:如何解决快应用堆栈溢出问题内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< font-size: 16px;">

< font-size: 16px;">现象描述

< font-size: 16px;">已知将通过 $element('id') 获取到内容,赋值给成员变量,可能会引发堆栈溢出(RangeError: Maximum call stack size exceeded),从而导致程序崩溃;同时,页面 DOM 存在成员变量(如 A )的引用,当该变量 A 发生变化时,即会引发堆栈溢出报错问题,示例代码如下:

< font-size: 16px;"><template>

< font-size: 16px;">  <div id="content">

< font-size: 16px;">    <input type="button" @click="onTestClick" value="会引发堆栈溢出"/>

< font-size: 16px;">    <text>{{ stateText }}</text>

< font-size: 16px;">  </div>

< font-size: 16px;"></template>

< font-size: 16px;"><script>

< font-size: 16px;">  export default {

< font-size: 16px;"> 危机公关案例失败;   private: {

< font-size: 16px;">      mContentNode: null,

< font-size: 16px;">      stateText: 'init state'

< font-size: 16px;">    },

< font-size: 16px;">    onReady() {

< font-size: 16px;">      /* 如将 $element('id')获取到内容,赋值给成员变量,则有可能引发堆栈溢出 */

< font-size: 16px;">      this.mContentNode = this.$element('content')

< font-size: 16px;">    },

< font-size: 16px;">    onTestClick() {

< font-size: 16px;">      /* 页面 DOM 存在成员变量的引用,当发生变化时,即是引发如上所述的一种必现方式 */



< font-size: 16px;">      this.stateText = 'new state'

< font-size: 16px;">    }

< font-size: 16px;">  }

< font-size: 16px;"></script>

< font-size: 16px;">这是因为赋值为 vm 属性,会触发大规模的数据驱动变化,导致内部出现异常循环,从而引发堆栈溢出报错。

< font-size: 16px;">解决方法

< font-size: 16px;">只要不将 $element('id') 获取到内容,赋值给成员变量,即可规避堆栈溢出问题;可以将其赋值给局部变量,或页面全局变量,示例代码如下:

< font-size: 16px;"><script>



< font-size: 16px;">  let $gContentNode = null

< font-size: 16px;">  export default {

< font-size: 16px;">    private: {

< font-size: 16px;">      stateText: 'init state'

< font-size: 16px;">    },

< font-size: 16px;"> 泸州网站开发;   onReady() {

< font-size: 16px;">      /* 如将 $element('id')获取到内容,赋值给局部变量,或页面全局变量,则可规避堆栈溢出问题 */

< font-size: 16px;">      const cContentNode = this.$element('content')

< font-size: 16px;">      $gContentNode = this.$element('content')

< font-size: 16px;">    },

< font-size: 16px;">    onTestClick() {

< font-size: 16px;">      this.stateText = 'new state'

< font-size: 16px;">    }

< font-size: 16px;">  }

< font-size: 16px;"></script>

AppGallery Connect:如何解决快应用堆栈溢出问题

上一篇:2021年品牌必须关注的六大社交媒体趋势
下一篇:AWS安全讲堂:身份认证秘籍!


版权声明:以上主题为“AppGallery Connect:如何解决快应用堆栈溢出问题"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    AppGallery Connect:如何解决快应用堆栈溢出问题
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“AppGallery Connect:如何解决快应用堆栈溢出问题”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通AppGallery Connect:如何解决快应用堆栈溢出问题的相关事宜。

关键词:AppGallery,Connect:如何解决

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号