- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试创建一个弹出并提供不同菜单选项的简单模式。这应该很容易,我在 ui bootstrap 网站上按照 Plunker for modals 进行操作,但出现错误:
$uibModal is an unknown provider
这是 Angular 代码:
angular.module('billingModule', ['ngAnimate', 'ui.bootstrap']);
angular.module('billingModule').controller('StoreBillingCtrl', function ($scope, $uibModal) {
$scope.openStoreBilling = function () {
var modalInstance = $uibModal.open({
animation: true,
templateUrl: 'storeBillingContent.html',
controller: 'ModalInstanceCtrl',
});
};
});
angular.module('billingModule').controller('OfficeBillingCtrl', function ($scope, $uibModal) {
$scope.openOfficeBilling = function () {
var modalInstance = $uibModal.open({
animation: true,
templateUrl: 'officeBillingContent.html',
controller: 'ModalInstanceCtrl',
});
};
});
angular.module('billingModule').controller('ModalInstanceCtrl', function ($scope, $uibModalInstance) {
$scope.close = function () {
$uibModalInstance.dismiss();
}
});
我阅读了错误文档并意识到这是一个依赖性错误。但我只是不明白我哪里出错了。我有 angular 1.4.8 和 ui-bootstrap 0.14.3。
这是我添加的脚本:
<head runat="server">
<title>DP Billing</title>
<link href="../CSS/bootstrap.css" rel="stylesheet" />
<link href="../CSS/base.css" rel="stylesheet" />
<script src="../Scripts/angular.js"></script>
<script src="../Scripts/angular-animate.js"></script>
<script src="../Scripts/angular-ui/ui-bootstrap-tpls.js"></script>
<script src="../Scripts/billing-modals.js"></script>
</head>
最佳答案
您必须使用 Controller 声明中的括号将依赖项注入(inject) Controller 。
你有什么:
angular.module('billingModule').controller('StoreBillingCtrl', function ($scope, $uibModal) { ... });
你应该拥有的:
angular.module('billingModule').controller('StoreBillingCtrl', ['$scope', '$uibModal', function ($scope, $uibModal) { ... }]);
同样适用于其他 Controller
更好的风格:
angular.module('billingModule').controller('StoreBillingCtrl', ['$scope', '$uibModal', StoreBillingCtrlFunc]);
StoreBillingCtrlFunc function ($scope, $uibModal) {
...
}
我建议采用一种样式来避免语法错误。 John Papa's Angular Style Guide是一个好的开始。
如果你使用那种风格,你就会清楚你声明的是什么,你注入(inject)的是什么。更不用说拥有一个数组的困惑,其中除了最后一个元素之外的所有元素都是依赖项,而最后一个元素是 Controller 本身。
angular.module('billingModule').controller('StoreBillingCtrl', StoreBillingCtrlFunc);
StoreBillingCtrlFunc.$inject = ['$scope', '$uibModal'];
StoreBillingCtrlFunc function($scope, $uibModal){
...
}
关于javascript - AngularJS 错误未知提供者 : $$jqLiteProvider <- $$jqLite <- $animateCss <- $uibModalStack <- $uibModal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34496781/
我有各种菜单项,它们在单击其中任何一个时都使用相同的 uibmodal。仅对于其中一个菜单选项,我希望 uibmodal 显示为较小的尺寸。我尝试了以下方法: $scope.profile = fun
我有各种菜单项,它们在单击其中任何一个时都使用相同的 uibmodal。仅对于其中一个菜单选项,我希望 uibmodal 显示为较小的尺寸。我尝试了以下方法: $scope.profile = fun
我正在使用 Bootstrap 的 $uibModal 在我的网络应用程序中制作表单。一切正常,只是在显示对话框后我无法关闭它。 我花了两天时间试图不在这里发布这样一个简单的问题,尤其是当我收到的相同
我一直在尝试使用工厂中的 uibModal,而不是在我的 Controller 中使用它。出现对话框,单击“确定”后字段数据返回到服务,但是,我不知道如何将数据返回到我的 Controller ,将数
我知道有很多关于这个问题的话题,但我尝试按照提供的解决方案进行操作,但没有成功。 我遵循的那个解决了错误Unknown provider: $uibModalInstanceProvider,是@Ge
我在模态中的模态上遇到问题。我需要让第二个模态位于第一个模态的顶部,但发生的情况是,第二个模态加载在第一个模态的后面。请帮忙。谢谢 用于打开模式的片段。 $uibModal.open({ te
我正在尝试集成 Angular 引导模式形式, 这是我的 Controller angular.module('app').controller('groupController',['groupSe
我想设置一个 httpInterceptor 以在 http 请求失败时显示一个常见的模式对话框。我正在使用 https://angular-ui.github.io/bootstrap/对于模态对话
angular .module('angProj') .controller('UserCtrl', ['$scope', '$uibModal', function ($sc
我开始学习如何使用 jasmine 进行单元测试。我在互联网上阅读了很多内容,但我无法解决我的问题。 我有一个带有 Controller 的指令。当我单击某个元素时,该 Controller 正在使用
我有一项从服务器获取数据的服务。成功检索数据后,我将传递给指令中的 $uimodal 。我的代码如下所述 问题是当我第一次运行我的应用程序时,控制台日志显示如下结果 在//输出 >> 之外调试 siz
我试图将 $uibModal 注入(inject)到我的项目中,但是当 Controller 加载时,我收到以下错误: Error: [$injector:unpr] Unknown provider
我有以下代码: vm.data = [{name: 'test-1'},{name: 'test-2'}]; function addRecords(data) { vm.data.push(
你能告诉我我的代码有什么问题吗?我得到了初始 HTML 页面,但是当我单击“打开”时,没有任何反应。甚至控制台也不会记录错误或任何其他更改。 应用程序.js var app = angular.mod
我想制作$uibModal下药时模态透明,停止拖动时模态不透明。 现在,我尝试了 jQuery fadeTo()和 fadeIn()可拖动停止事件的方法和 mouseup() 方法。模态变得透明但不会
我将 .draggable() 放在我的模式上,但它们只在第二次调用时起作用。模态是从服务文件中调用的。 服务文件: function callWarningModalService(data) {
尝试关闭由 $uibModal.open() 创建的模态窗口时,我收到 close is not a function 我已将问题减少到最少的代码: var app = angular.mod
我想不出正常的标题。对此感到抱歉。 所以问题是,在一个大项目中,具有大的业务逻辑,有很多模式。每个新的模态都是相同的代码,几乎没有什么变化,比如 templateUrl、 Controller 之类的
我创建了一个 AngularJs 指令,它将焦点设置到 html 元素。但它不适用于 $uibModal 元素: angular.module('ui.bootstrap.demo') .di
我在使用 ui.bootstrap.modal 时遇到这个错误: Error: $uibModal is undefined 模块: (function(angular) { /**
我是一名优秀的程序员,十分优秀!