我使用angularjs 1.5.8基本上模仿带有方程式的excel表。这三行需要两个影响两个输出的输入。我正在努力研究如何编写我的脚本以包含多个控制器,因为我正在为每一行构建一个控制器。如果我在我的脚本中注释掉第二个和第三个控制器,第一行就可以了。没有注释行,没有任何作用。我觉得我非常接近但不确定我哪里出错了。任何帮助将不胜感激。
这是工作控制器:
angular.module('ADMApp', [])
.controller('ADMFarViewController', [function() {
var ctrl = this;
ctrl.ADMCalc = function() {
var ADMFarViewImgHeightvar = Number(ctrl.ADMFarViewImgHeightvar || 0);
var ADMFarViewVertPixvar = Number(ctrl.ADMFarViewVertPixvar || 0);
ctrl.ADM_FarViewFarthestViewer_ans = (ADMFarViewImgHeightvar * 3438) / ADMFarViewVertPixvar;
ctrl.ADM_FarViewViewRat_ans = ctrl.ADM_FarViewFarthestViewer_ans / ADMFarViewImgHeightvar;
}
}]);
答案 0 :(得分:2)
每次都不要重新定义模块。
// Code goes here
var ADMApp = angular.module('ADMApp', []);
ADMApp.controller('ADMFarViewController', [function() {
var ctrl = this;
ctrl.ADMCalc = function() {
var ADMFarViewImgHeightvar = Number(ctrl.ADMFarViewImgHeightvar || 0);
var ADMFarViewVertPixvar = Number(ctrl.ADMFarViewVertPixvar || 0);
ctrl.ADM_FarViewFarthestViewer_ans = (ADMFarViewImgHeightvar * 3438) / ADMFarViewVertPixvar;
ctrl.ADM_FarViewViewRat_ans = ctrl.ADM_FarViewFarthestViewer_ans / ADMFarViewImgHeightvar;
}
}]);
ADMApp.controller('ADMMinImgController', [function() {
var ctrl = this;
ctrl.ADMCalc = function() {
var ADM_MinImgHeightVertPix_var = Number(ctrl.ADM_MinImgHeightVertPix_var || 0);
var ADM_MinImgHeightFarthestViewer_var = Number(ctrl.ADM_MinImgHeightFarthestViewer_var || 0);
ctrl.ADM_MinImgHeightImageHeight_ans = (ADM_MinImgHeightVertPix_var * ADM_MinImgHeightFarthestViewer_var) / 3438;
ctrl.ADM_MinImgHeightViewRat_ans = ADM_MinImgHeightFarthestViewer_var / ctrl.ADM_MinImgHeightImageHeight_ans;
}
}]);
ADMApp.controller('ADMMaxImgController', [function() {
var ctrl = this;
ctrl.ADMCalc = function() {
var ADM_MaxImgImageHeight_var = Number(ctrl.ADM_MaxImgImageHeight_var || 0);
var ADM_MaxImgFarthestViewer_var = Number(ctrl.ADM_MaxImgFarthestViewer_var || 0);
ctrl.ADM_MaxImgVertPix_ans = (ADM_MaxImgImageHeight_var * 3438) / ADM_MaxImgFarthestViewer_var;
ctrl.ADM_MaxImgViewRat_ans = ADM_MaxImgFarthestViewer_var / ADM_MaxImgImageHeight_var;
}
}]);
答案 1 :(得分:1)
angular.module('ADMApp', [])
该代码行定义模块' ADMApp'。由于您在代码中使用了三行,因此您需要定义相同的模块三次,有效地覆盖其先前的定义,包含先前添加的控制器。
将其保存在变量中,或使用angular.module('ADMApp')
获取对先前定义的模块的引用。