javascript - 如何从另一个控制器调用函数?
问题描述
我正在制作一个应用程序来计算一些预算,所以我有 3 个控制器。第二个控制器称为 UIConnroller,它的工作是从用户那里获取输入并返回到最后一个称为“控制器”的控制器。然后,从最后一个控制器,我调用 UIConntroller 中的 get inputInput 函数。当我尝试调用此函数时,我收到 UICtrl.getInput 不是函数的错误。
我的目标是调用 UIConnroller 中的函数。
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
};
}
我该如何解决这个问题?
解决方案
它应该是:
UICtrl().getInput();
推荐阅读
- ios - Google Chrome cast 没有播放视频
- asp.net-mvc - (MVC 5) 在更新部分视图时刷新 DropDownListFor Selected Value
- python - 如何删除模型 - IBM Watson
- javascript - 谷歌图表 - 多个折线图数据表,每个图表都有隐藏线
- c# - Postgresql Devart EF:底层提供程序在打开时失败
- java - 一个简单的 IOC 容器类有什么问题?
- sql-server - 在sql表中存储不同的语言
- postgresql - PostgreSQL 备份脚本无法访问 .pgpass
- r - 在 R 中加密数据时要忽略的空值
- java - 带有默认构造函数的龙目岛