簡體   English   中英

LWC 中未定義的變量值 - JavaScript

[英]variable values undefined in LWC - JavaScript

我已經聲明了一個 const 'offset',當我嘗試獲取它並在 function 中更新時,該值未定義。 因此,我將無法為 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)並從 apex 和 append 獲取新記錄到表,但上面的控制台日志給了我stats:undefined ,為什么這個值是未定義的? 盡管我可以檢查該值是否未定義並使用如下所需的值進行更新,但我想了解為什么該值未定義,即使我已將其設置為 0,任何指向 SF LWC 變量文檔的鏈接和指針都會有所幫助。

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

聲明后無法更新const ,請嘗試https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const

而且由於您在 class 之外擁有它,就像一些全局變量一樣 - 它不需要this 該腳本告訴您this.offset不存在(未定義)。 你可以console.log(offset);

我認為您需要將其設為 class 成員並刪除const

您已經在 class 之外聲明了變量。

所以你不必使用this來訪問變量

所以你的 function 將如下所示

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

注意:當您將變量聲明為const時,您無法更改其值。 如果你想改變它的價值使用let

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM