Angular 给我一个注入未解决的错误,但我的控制器没有要求任何注入
Angular is giving me an injection unresolved error, but my controller isn't asking for any injections
我有一个有问题的模态控制器,所以我一直在注释代码以试图找出问题所在。目前,我的模态 HTML 部分是一个空的 div 标签,我的控制器是一个 console.log,没有参数。 $modal.open 调用仅指定控制器和部分。
现在,当我尝试打开模式时,我收到一个注入器错误,指出 'orgId' 没有解决。除了我不要求注入 orgId 之外。我已经清除了缓存 (Chrome),确保我 运行 是文件的正确最新版本,并删除了单词 [=30= 的所有(注释或未注释)实例] 从文件中。然而它一直在要求它。作为模态控制器,它不在我的 router-ui 状态层次结构中,所以它不应该是任何奇怪的父子交互。关于可能发生的事情的任何其他想法?
我的代码是这样的:
Partial.html:
<div></div>
控制器:
app.controller( 'ctrl.modal', [
function () { console.log("Controller is called");
} ] )
调用控制器:
exercises.controller( 'ctrl.exercisesnew', [ '$scope', '$location', '$stateParams', 'factory.exercises', 'force.services.userservice', '$q',
'$resource', 'factory.endpoints', '$modal', 'underscore', 'force.factory.classes.usercontext', 'factory.common', 'force.services.unitservice', '$state', 'factory.teep', '$window',
function ( $scope, $location, $stateParams, ExercisesServices, UserService, $q, $resource, endpoints, $modal, _, UserContext, commonService, UnitService, $state, TeepService, $window ) {
$scope.c2ram.ctrl.exercisesnew.absorb = function () {
var assignExerciseDetailsModalInstance = $modal.open( {
templateUrl: 'partial.html',
controller: 'ctrl.modal'
} );
};
}
] );
非常感谢!
您在使用 ui-bootstrap 吗?如果是,则必须将 $modal
注入控制器才能使用它。
所以这太尴尬了。基本上,当我将模态控制器从之前的位置复制并粘贴时,我忘记删除旧的(字符串命名的)控制器。 Angular 在打开模态时在两个同名模态控制器之间随机选择,并且没有警告我该名称的控制器已经存在。哎呀!
对于那些正在阅读此答案的人,请检查以确保您没有任何会导致冲突的同名控制器。这可能是任何复制和粘贴错误的结果。
我有一个有问题的模态控制器,所以我一直在注释代码以试图找出问题所在。目前,我的模态 HTML 部分是一个空的 div 标签,我的控制器是一个 console.log,没有参数。 $modal.open 调用仅指定控制器和部分。
现在,当我尝试打开模式时,我收到一个注入器错误,指出 'orgId' 没有解决。除了我不要求注入 orgId 之外。我已经清除了缓存 (Chrome),确保我 运行 是文件的正确最新版本,并删除了单词 [=30= 的所有(注释或未注释)实例] 从文件中。然而它一直在要求它。作为模态控制器,它不在我的 router-ui 状态层次结构中,所以它不应该是任何奇怪的父子交互。关于可能发生的事情的任何其他想法?
我的代码是这样的:
Partial.html:
<div></div>
控制器:
app.controller( 'ctrl.modal', [
function () { console.log("Controller is called");
} ] )
调用控制器:
exercises.controller( 'ctrl.exercisesnew', [ '$scope', '$location', '$stateParams', 'factory.exercises', 'force.services.userservice', '$q',
'$resource', 'factory.endpoints', '$modal', 'underscore', 'force.factory.classes.usercontext', 'factory.common', 'force.services.unitservice', '$state', 'factory.teep', '$window',
function ( $scope, $location, $stateParams, ExercisesServices, UserService, $q, $resource, endpoints, $modal, _, UserContext, commonService, UnitService, $state, TeepService, $window ) {
$scope.c2ram.ctrl.exercisesnew.absorb = function () {
var assignExerciseDetailsModalInstance = $modal.open( {
templateUrl: 'partial.html',
controller: 'ctrl.modal'
} );
};
}
] );
非常感谢!
您在使用 ui-bootstrap 吗?如果是,则必须将 $modal
注入控制器才能使用它。
所以这太尴尬了。基本上,当我将模态控制器从之前的位置复制并粘贴时,我忘记删除旧的(字符串命名的)控制器。 Angular 在打开模态时在两个同名模态控制器之间随机选择,并且没有警告我该名称的控制器已经存在。哎呀!
对于那些正在阅读此答案的人,请检查以确保您没有任何会导致冲突的同名控制器。这可能是任何复制和粘贴错误的结果。