【问题标题】:variable values undefined in LWC - JavaScriptLWC 中未定义的变量值 - JavaScript
【发布时间】:2020-11-25 18:19:43
【问题描述】:

我已经声明了一个 const 'offset',当我尝试获取它并在函数中更新时,该值是未定义的。因此,我将无法为 const 增加价值。下面是示例代码

import { LightningElement, wire, track , api } from 'lwc';
import getContractWithDetails from '@salesforce/apex/AccountContactController.getContractWithDetails';

const offset = 0;

export default class WrapperClassExampleLWC extends LightningElement {

@track accountsWithContacts;
@track contractWithDetails;

handleScroll(event)
{
   console.log(' stats :' , this.offset);
}

}

handleScroll 函数在用户执行滚动操作时被调用,并且每次滚动条到达底部时,我都想将偏移值更新为更高的值(例如每次 30)并从顶点获取新记录并附加到表格中,但是 上面的控制台日志给了我 stats :undefined ,为什么这个值是 undefined ? 虽然我可以检查该值是否未定义并使用如下所需的值进行更新,但我想了解为什么该值未定义,即使我已将其设置为 0 ,任何指向 SF LWC 变量文档的链接和指针都会有所帮助。

if(this.offset == undefined)
{
this.offset = 0;
}
this.offset = this.offset + 30;

【问题讨论】:

    标签: javascript salesforce salesforce-lightning lwc


    【解决方案1】:

    const声明后不能更新,用https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const做实验

    因为你在类之外拥有它,就像一些全局变量一样 - 它不需要this。该脚本告诉您this.offset 不存在(未定义)。你可以console.log(offset);

    我认为您需要的是使其成为班级成员并删除const

    【讨论】:

      【解决方案2】:

      你已经在类外声明了变量。

      所以你不必使用this 来访问变量

      所以你的函数如下所示

      handleScroll(event)
      {
         console.log(' stats :' , offset);
      }
      

      注意:当您将变量声明为 const 时,您无法更改其值。如果您想更改其值,请使用 let

      【讨论】:

        猜你喜欢
        • 2021-08-05
        • 1970-01-01
        • 2018-06-23
        • 1970-01-01
        • 1970-01-01
        • 2020-04-25
        • 2014-11-07
        • 1970-01-01
        相关资源
        最近更新 更多