class中的方法模块化的语法规则?
class Slider的私有方法,模块化后在“keyboard.js”中定义了const keyboard = {...},这里“keyboard”是什么?是对象吗?那么里面的“bindEvent(slider) {...}”是对象的方法吗?class Slider的定义中,“Keyboard.bindEvent(this)"是引用了这个对象的方法吗?是这样理解吗?
整体上,我没太明白class 方法模块化的语法规则,请老师详细解释一下。此外,直接定义一个函数,然后在class定义中引用不行吗?
//keyboard.js
import { LEFT_KEYCODE, RIGHT_KEYCODE } from './constants.js';
const keyboard = {
bindEvent(slider) {
document.addEventListener(
'keyup',
ev => {
if (ev.keyCode === LEFT_KEYCODE) {
slider.prev();
} else if (ev.keyCode === RIGHT_KEYCODE) {
slider.next();
}
},
false
);
}
};
export default keyboard;
//slider.js
import Keyboard from './keyboard.js';
class Slider extends BaseSlider {
constructor(el, options) {
super(el, options);
this._bindEvent();
}
_bindEvent() {
Keyboard.bindEvent(this);
}
}
export default Slider;
正在回答
同学你好,课程里给的方式不是固定的写法,可以修改为同学说的‘在单独的文件中只定义一个函数,然后其他文件中引入函数’。例如:
1.js中
html中
测试结果
祝学习愉快!
相似问题
登录后可查看更多问答,登录/注册
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星