[英]How to call a function from another Controller?
我正在制作一個應用程序來計算一些預算,所以我有3個控制器。 第二個控制器稱為UIConntroller,其工作是從用戶那里獲取輸入並返回到最后一個稱為“控制器”的控制器。 然后,從最后一個控制器中,我調用UIConntroller中的get inputInput函數。 當我嘗試調用此函數時,出現錯誤,即UICtrl.getInput不是函數。
我的目標是調用UIConntroller中的函數。
var budgetController = (function () {
} )();
//===========BDGET CONTROLER========== this gets input from the user
var UIConntroller = (function () {
return {
getInput: function () {
return {
type : document.querySelector('.add__type').value, //will be eithe inc or exp
description : document.querySelector('.add__description').value,
value : document.querySelector('.add__value').value
};
}
};
});
//=========GLOBAL APP CONTROLLER========================================
var controller =(function (budgetCtrl,UICtrl) {
var ctrlAddItem = function () {
// 1.Get te input field data
var input = UICtrl.getInput();
console.log(input);
//2. Add the item to the budget controller
//3. Add The Items to the UI
//4. Calculate the budget
//5. Display the budget to the UI
}
document.querySelector('.add__btn').addEventListener('click', ctrlAddItem);
//key press event listiner
document.addEventListener('keypress',function(event){
if (event.keyCode === 13 || event.which ===13) {
ctrlAddItem();
} else {
}
})
})(budgetController,UIConntroller);
當我運行代碼時,我期望下面的getInput函數被調用,以便它可以接受用戶的輸入:
getInput: function () {
return {
type : document.querySelector('.add__type').value, //will be eithe inc or exp
description : document.querySelector('.add__description').value,
value : document.querySelector('.add__value').value
};
}
我該如何解決這個問題?
您的IIUI for UIConntroller
缺少()
來調用它
//===========BDGET CONTROLER========== this gets input from the user
var UIConntroller = (function () {
return {
getInput: function () {
return {
type : document.querySelector('.add__type').value, //will be eithe inc or exp
description : document.querySelector('.add__description').value,
value : document.querySelector('.add__value').value
};
}
};
}());
//^^^ Missing ()
它應該是:
UICtrl().getInput();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.