-1
我有這臺我的類中的一個值,並做一些其他的東西的功能。我需要從課內和課外運行這個功能。帶班和課外運行功能
函數被調用state(val)
。據我所知,你不需要在名字前添加function
。
林只是得到一個錯誤說
state is not defined
這裏是我的代碼
// Menu control object
class menuControl {
constructor(obj, children, items) {
this.children = children;
this.elm = obj;
this.state = 0;
}
state(val) {
this.state = val;
for(var index in controls) {
if (index !== not) {
addClass(controls[index].elm, 'disabled');
} else {
removeClass(controls[not].elm, 'disabled');
}
if (this.state === 0) {
removeClass(controls[index].elm, 'disabled');
}
}
}
toggle() {
// MENU ACTIVE
if (this.state === 0) {
for(var i in this.children) {
// Add required classes
if (this.children[i][1] === 1) {
addClass(this.children[i][0], 'toggled');
} else {
removeClass(this.children[i][0], 'toggled');
}
}
this.state(1); // Toggle the state
} else {
// MENU INACTIVE
for(var i in this.children) {
removeClass(this.children[i][0], 'toggled');
}
this.state(0); // Toggle the state
}
}
}
更新
// Menu control object
class menuControl {
constructor(obj, children, items) {
this.children = children;
this.elm = obj;
this.state = 0;
}
setState(val) {
this.state = val;
for(var index in controls) {
if (index !== not) {
addClass(controls[index].elm, 'disabled');
} else {
removeClass(controls[not].elm, 'disabled');
}
if (this.state === 0) {
removeClass(controls[index].elm, 'disabled');
}
}
}
toggle() {
// MENU ACTIVE
if (this.state === 0) {
for(var i in this.children) {
// Add required classes
if (this.children[i][1] === 1) {
addClass(this.children[i][0], 'toggled');
} else {
removeClass(this.children[i][0], 'toggled');
}
}
setState(1); // Toggle the state <--------- Get the error here
} else {
// MENU INACTIVE
for(var i in this.children) {
removeClass(this.children[i][0], 'toggled');
}
setState(0); // Toggle the state
}
}
}
你有一個名爲'state'的方法和一個屬性。在構造函數中,用屬性覆蓋(繼承)方法。 – Thomas
我已經命名方法setState之前,但得到了錯誤:'setState未定義'@Thomas –
你可以顯示代碼,並在哪裏得到該錯誤? – Thomas