首页 / JAVASCRIPT / javascript – 使用angular-bootstrap时的$injector错误($modalInstanceProvider < - $modalInstance)
javascript – 使用angular-bootstrap时的$injector错误($modalInstanceProvider < - $modalInstance)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 使用angular-bootstrap时的$injector错误($modalInstanceProvider < - $modalInstance),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3106字,纯文字阅读大概需要5分钟。
内容图文
![javascript – 使用angular-bootstrap时的$injector错误($modalInstanceProvider < - $modalInstance)](/upload/InfoBanner/zyjiaocheng/794/b20f2d29d8a447bb925461d7c6dcee12.jpg)
我一直在玩这个bug,但我似乎无法弄明白.当我按下我添加到prod服务器的angular-bootstrap模态时,问题就出现了.最初的错误是“AngularJS错误:未知的提供者:aProvider< - ”我很确定我收到了这个错误,因为我的文件没有正确缩小.所以我通过我的控制器,发现我不是$$$我注入$modal实例到我的控制器,当我遇到这个问题.当我以缩小的格式将$modalInstance注入我的控制器时,我得到了这个错误.我没有使用angular-bootstrap建议的格式,因为我有很多事情要在网站上建立很多控制器,所以我将所有内容组合成一个控制器而不是几个功能. 我的控制器:
.controller('CreateGroupCtrl', ['$scope', '$http', '$window', '$cookies', '$modal', '$log', 'FeedService', '$modalInstance',
function CreateGroupCtrl($scope, $http, $window, $cookies, $modal, $log, $modalInstance, FeedService) {
$scope.createGroupCall = function createGroupCall(teacher, name) {
if(teacher != null && name != null) {
FeedService.createGroupCall($cookies.token, $window.sessionStorage.user, teacher, name).success(function(data) {
console.log('GroupCreated');
}).error (function(status,data,token) {
console.log(status);
console.log(data);
});
} else {
alert("Error!");
}
}
/***********ANGULAR-UI MODAL CODE**********/
$scope.open = function (size) {
var modalInstance = $modal.open({
templateUrl: 'CreateGroupContent.html',
controller: CreateGroupCtrl,
size: size
});
modalInstance.result.then(function (selectedItem) {
$scope.selected = selectedItem;
}, function () {
$log.info('Modal dismissed at: ' + new Date());
});
};
$scope.ok = function () {
$modalInstance.close();
};
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
};
}]);
我的模板:
<button ng-controller="CreateGroupCtrl" ng-click="open()" type="button" id="creategroup" class="btn ns-btn">
<img class="ns-add" src="images/createGroup.png">
<p class="create">Create Group</p>
</button>
<div>
<script type="text/ng-template" id="CreateGroupContent.html">
<div class="modal-header">
<h2 class="modal-title ns-modal-title">Create A Group</h2>
<button class="ns-modal-close" ng-click="cancel()"><img src="images/xCancel.png"></button>
</div>
<div class="modal-body">
<form class="form-signin" role="form">
<input type="text" class="form-control ns-modal-form" placeholder="Teacher" ng-model="create.teacher" required autofocus>
<input type="text" class="form-control ns-modal-form" placeholder="Group Name" ng-model="create.name" required>
</form>
</div>
<div class="modal-footer">
<button class="btn ns-modal-add ns-btn" ng-click="createGroupCall(create.teacher, create.name); ok();" type="submit">Create</button>
</div>
</div>
</script>
</div>
解决方法:
首先,您需要按顺序注入所有内容.
此外,您应该将$modal注入您想要创建模态视图的控制器中.并且$modalInstance只能注入到用于此$modal窗口的控制器中.在您的情况下,您使用相同的控制器,因此您无法注入$modalInstance
演示:http://plnkr.co/edit/khzNQ0?p=preview
此外,在您的情况下(当您只使用1个控制器时) – 您可以作为对象字段范围传递,该范围将用作模式视图的$scope的父级.默认情况下它是$rootScope,但你可以输入:
$scope.open = function (size) {
var modalInstance = $modal.open({
templateUrl: 'CreateGroupContent.html',
controller: CreateGroupCtrl,
size: size,
scope: $scope
});
所以现在你的函数ok()和cancel()将在你的模态视图和模态范围中可用.
内容总结
以上是互联网集市为您收集整理的javascript – 使用angular-bootstrap时的$injector错误($modalInstanceProvider < - $modalInstance)全部内容,希望文章能够帮你解决javascript – 使用angular-bootstrap时的$injector错误($modalInstanceProvider < - $modalInstance)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。