我正在使用angular-modal-service在yeoman generated angular application中显示模态。我正在关注文档,但在通过inputs
参数传递数据时遇到此错误。
错误:[$ injector:unpr]未知提供者:userProvider< - user< - targetModalCtrl
这是控制器上触发模态的功能
'use strict';
angular.module('webClientApp')
.controller('LogCreateCtrl', function ($scope, $rootScope, $log, $http, config, ModalService, $route) {
/*-- OTHER FUNCTIONS --*/
// record time in
$scope.recordTimeIn = function() {
// show target modal
ModalService.showModal({
templateUrl: "views/targetModal.html",
controller: "targetModalCtrl",
inputs: {
user: $scope.user.id
}
}).then(function(modal) {
modal.element.modal();
modal.close.then(function(result) {
$log.debug(result);
});
});
}
});
这是模态控制器:
'use strict';
angular.module('webClientApp')
.controller('targetModalCtrl', ['$scope', 'user', function($scope, user) {
$log.debug(user);
}]);
如果我没有使用inputs
中的LogCreateCtrl
参数并删除user
中的targetModalCtrl
,则模式显示正常。
答案 0 :(得分:0)
我不熟悉angular-modal-service
,但我发现两个潜在的问题......
$log
您可以尝试将控制器更改为以下内容......
angular.module('webClientApp')
.controller('targetModalCtrl', function($scope, $log, user) {
$log.debug(user);
});
答案 1 :(得分:0)
我发现一个案例会导致问题。
在输入中,user的值是$ scope.user.id,现在在控制器中,我无法看到,user.id设置在范围内的任何位置,这将意味着分配给用户的未定义值。
模态服务删除未定义的值,因此无法注入用户。