Lab: Object Composition - 05.Sum [Unexpected error: document is not defined]
Здравейте, имам проблем със следната задача от лекцията Object Composition, отнася се за 5-та задача, но ми дава грешка:
(Unexpected error: document is not defined), не можах да разбера къде е проблема изпробвах хиляди решения, мислех си, че проблема е, че не се зарежда DOM-a преди да select-не елементите чрез селекторите и се пробвах и със document.onload и с $(function(){...}), но не ми се получи, иначе ето и някои от кодовете, които съм ползвал:
function getModel() {
let model = {
init: (selector1, selector2, resultSelector) => {
model.num1 = $(selector1);
model.num2 = $(selector2);
model.result = $(resultSelector);
},
add: () => {
model.action((a, b) => a + b);
},
subtract: () => {
model.action((a, b) => a - b);
},
action: (operation) => {
let val1 = Number(model.val1.val());
let val2 = Number(model.val2.val());
model.result.val(operation(val1, val2));
}
};
return model;
}
(function () {
let num1, num2, result;
function init(num1Sel, num2Sel, resultSel) {
num1 = document.getElementById(num1Sel);
num2 = document.getElementById(num2Sel);
result = document.getElementById(resultSel);
}
function add() {
action((a, b) => a + b);
}
function subtract() {
action((a, b) => a - b);
}
function action(operation) {
let val1 = Number(num1.value);
let val2 = Number(num2.value);
result.value = operation(val1, val2);
}
let model = {init, add, subtract};
return model;
})();
function getModel() {
let model = {
num1,
num2,
result,
init: (selector1, selector2, resultSelector) => {
$(function () {
model.num1 = $(selector1);
model.num2 = $(selector2);
model.result = $(resultSelector);
});
},
add: () => {
model.action((a, b) => a + b);
},
subtract: () => {
model.action((a, b) => a - b);
},
action: (operation) => {
let val1 = Number(model.num1.val());
let val2 = Number(model.num2.val());
model.result.val(operation(val1, val2));
}
};
return model;
}