我正在尝试通过制作一个人为的计算器模块来学习 Object.create。我试过bind
我试过删除this
,但没有结果。
问题:
如何像使用类一样在元素的另一个属性中引用对象的属性。或者我的例子不是一个很好的模式?如果是这样,我应该如何构建我的计算器对象以提供事件监听器creation
?
计算器.js
const Calculator = {
inputArr: [],
init: (selector)=> {
const el = document.querySelector(selector);
el.addEventListener('click', this.pushValue); // this wont work.
return this;
},
pushValue: (e) => {
let val = e.target.value;
if(val){
this.inputArr.push(val);
console.log(e.target, this.inputArr); // this wouldn't work.
}
}
};
const adder = Object.create(Calculator).init('#calc');
HTML:
<div id="calc">
<button class="btns" value="1">1</button>
<button class="btns" value="2">2</button>
</div>