angular ui bootstrap: Error: [$injector:unpr] Unknown provider: appMainProvider <- appMain
angular ui bootstrap: Error: [$injector:unpr] Unknown provider: appMainProvider <- appMain
我目前正在尝试打开 AngularUI Bootstrap 模式。不知何故,我不断收到以下错误:
Error: [$injector:unpr] Unknown provider: appMainProvider <- appMain
我在网上搜索并找到了几个 "solution",但其中 none 似乎有效(或者我做错了什么)。我找到的解决方案之一是 .
这是我的 main js controller
:
module.exports = function(appMain, name) {
appMain.controller(name, mainCtrl);
mainCtrl.$inject = ['$state', 'mainDataService', 'dnnVariables', '$uibModal'];
function mainCtrl($state, mainDataService, dnnVariables, $uibModal) {
var vm = this;
function fullAnswer() {
var source = require("../ViewAnswer/viewAnswer.html");
$uibModal.open({
templateUrl: source,
controller: require("../ViewAnswer/viewAnswer.controller.js"),
controllerAs: 'viewAnswerCtrl',
backdrop: 'static'
});
}
}
}
这将打开模式。模态 html 如下(几乎没有任何用于测试目的)
something
modal js controller
如下:
module.exports = function (appMain, name) {
appMain.controller(name, viewAnswerCtrl);
viewAnswerCtrl.$inject = ['$state', 'mainDataService', 'dnnVariables', "$uibModalInstance"];
function viewAnswerCtrl($state, mainDataService, dnnVariables, $uibModalInstance) {
var vm = this;
}
}
注意:我正在使用 angular-ui-bootstrap 2.5
。
在此示例中,mainCtrl
不是控制器函数,而是一些定义控制器的包装函数。它可能被用作:
mainCtrl(appMain, name);
而不是
appMain.controller(name, mainCtrl);
在 module.exports = function (appMain, name) {...}
中包装控制器没有任何好处。最好省略,用angular.module(...)
代替appMain
变量。
我目前正在尝试打开 AngularUI Bootstrap 模式。不知何故,我不断收到以下错误:
Error: [$injector:unpr] Unknown provider: appMainProvider <- appMain
我在网上搜索并找到了几个 "solution",但其中 none 似乎有效(或者我做错了什么)。我找到的解决方案之一是
这是我的 main js controller
:
module.exports = function(appMain, name) {
appMain.controller(name, mainCtrl);
mainCtrl.$inject = ['$state', 'mainDataService', 'dnnVariables', '$uibModal'];
function mainCtrl($state, mainDataService, dnnVariables, $uibModal) {
var vm = this;
function fullAnswer() {
var source = require("../ViewAnswer/viewAnswer.html");
$uibModal.open({
templateUrl: source,
controller: require("../ViewAnswer/viewAnswer.controller.js"),
controllerAs: 'viewAnswerCtrl',
backdrop: 'static'
});
}
}
}
这将打开模式。模态 html 如下(几乎没有任何用于测试目的)
something
modal js controller
如下:
module.exports = function (appMain, name) {
appMain.controller(name, viewAnswerCtrl);
viewAnswerCtrl.$inject = ['$state', 'mainDataService', 'dnnVariables', "$uibModalInstance"];
function viewAnswerCtrl($state, mainDataService, dnnVariables, $uibModalInstance) {
var vm = this;
}
}
注意:我正在使用 angular-ui-bootstrap 2.5
。
在此示例中,mainCtrl
不是控制器函数,而是一些定义控制器的包装函数。它可能被用作:
mainCtrl(appMain, name);
而不是
appMain.controller(name, mainCtrl);
在 module.exports = function (appMain, name) {...}
中包装控制器没有任何好处。最好省略,用angular.module(...)
代替appMain
变量。