如何在我的 Stimulus JS 控制器中声明一个 const 字符串?
How can I declare a const string in my Stimulus JS controller?
我想为我的控制器的 CSS 选择器设置一个 const 变量,而不是在整个控制器中对其进行硬编码。我已将声明放在我的控制器的 initialize() 中,但我收到一个错误消息,指出未声明该变量。正确的做法是什么?
当前尝试
import { Controller } from "stimulus"
export default class extends Controller {
static targets = ["form"]
initialize() {
const seasonInputSelector = "input[id$='_season']"
}
change(event) {
// ...
var yearNodes = this.formTarget.querySelectorAll(seasonInputSelector)
// ...
}
}
错误: ReferenceError:未定义 seasonInputSelector
在模块的根范围内使用 const
变量:
import { Controller } from "stimulus"
const seasonInputSelector = "input[id$='_season']";
export default class extends Controller {
static targets = ["form"]
initialize() {
}
change(event) {
// ...
var yearNodes = this.formTarget.querySelectorAll( seasonInputSelector );
// ...
}
}
另一种方法是将其范围限定在您的 class
中
import { Controller } from "stimulus"
export default class extends Controller {
static targets = ["form"]
seasonInputSelector = "input[id$='_season']";
change(event) {
// ...
var yearNodes = this.formTarget.querySelectorAll( this.seasonInputSelector );
// ...
}
}
我想为我的控制器的 CSS 选择器设置一个 const 变量,而不是在整个控制器中对其进行硬编码。我已将声明放在我的控制器的 initialize() 中,但我收到一个错误消息,指出未声明该变量。正确的做法是什么?
当前尝试
import { Controller } from "stimulus"
export default class extends Controller {
static targets = ["form"]
initialize() {
const seasonInputSelector = "input[id$='_season']"
}
change(event) {
// ...
var yearNodes = this.formTarget.querySelectorAll(seasonInputSelector)
// ...
}
}
错误: ReferenceError:未定义 seasonInputSelector
在模块的根范围内使用 const
变量:
import { Controller } from "stimulus"
const seasonInputSelector = "input[id$='_season']";
export default class extends Controller {
static targets = ["form"]
initialize() {
}
change(event) {
// ...
var yearNodes = this.formTarget.querySelectorAll( seasonInputSelector );
// ...
}
}
另一种方法是将其范围限定在您的 class
中import { Controller } from "stimulus"
export default class extends Controller {
static targets = ["form"]
seasonInputSelector = "input[id$='_season']";
change(event) {
// ...
var yearNodes = this.formTarget.querySelectorAll( this.seasonInputSelector );
// ...
}
}