Angularjs多个控制器,只有第一个有效
我使用angularjs 1.5.8基本上模拟了一个包含方程式的excel表格。有三行需要影响两个输出的两个输入。当我为每一行构建一个控制器时,我正在努力编写脚本以包含多个控制器。如果我注释掉脚本中的第二个和第三个控制器,第一行就可以正常工作。如果没有行被注释,则没有任何效果。我觉得我已经很接近了,但不确定我会错在哪里。任何帮助都将不胜感激 以下是工作控制器: 角度模块('ADMApp',[]) .controller('ADMFarViewController',[function(){ var ctrl=this; ctrl.ADMCalc=函数(){ var admfarviewmgheightvar=编号(ctrl.admfarviewmgheightvar | | 0); var ADMFarViewVertPixvar=编号(ctrl.ADMFarViewVertPixvar | | 0); ctrl.ADM_FarViewFarthestViewer_ans=(ADMFarViewImgHeightvar*3438)/ADMFarViewVertPixvar; ctrl.ADM\u farviewRat\u ans=ctrl.ADM\u FarViewFarthestViewer\u ans/ADMFarViewImgHeightvar; } }]);Angularjs多个控制器,只有第一个有效,angularjs,Angularjs,我使用angularjs 1.5.8基本上模拟了一个包含方程式的excel表格。有三行需要影响两个输出的两个输入。当我为每一行构建一个控制器时,我正在努力编写脚本以包含多个控制器。如果我注释掉脚本中的第二个和第三个控制器,第一行就可以正常工作。如果没有行被注释,则没有任何效果。我觉得我已经很接近了,但不确定我会错在哪里。任何帮助都将不胜感激 以下是工作控制器: 角度模块('ADMApp',[]) .controller('ADMFarViewController',[function(){ va
这是我的建议:不要每次都重新定义模块
// 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;
}
}]);
这行代码定义了模块“ADMApp”。由于您在代码中三次使用这一行,因此三次定义同一模块,有效地覆盖了其先前的定义,其中包含先前添加的控制器
将其保存在变量中,或使用
angular.module('ADMApp')
获取对先前定义的模块的引用。您的速度很快。然而,你应该遵循良好的实践:谢谢。最后一个问题。为什么我的第二排不工作?我尝试注释某些行,让代码返回类似于1+1的值,但第二行的第一个单元格从不返回值。您缺少视图。
在ng模型中:
angular.module('ADMApp', [])