[英]Angular: $uibModal undefined
我使用ui.bootstrap.modal時出現此錯誤:
Error: $uibModal is undefined
模塊:
(function(angular) {
/**
* finanziarioTerziController
*
* a controller defined in the finanziarioTerziModule and using a sample service.
*/
angular.module('finanziarioTerziModule')
.controller('finanziarioTerziController', ['$scope', 'finanziarioTerziService', function ($scope, finanziarioTerziService) {
'use strict';
$scope.elencoPatrimonioTerziCollapsed = true;
$scope.elencoPatrimonioTerzi = new Array();
$scope.products = [];
$scope.productToAdd = [];
$scope.saveProduct = function (productToAdd) {
for (var i = 0; i < productToAdd.length; i++) {
$scope.products.push(productToAdd[i]);
console.log($scope.products[i]);
}
$scope.reset();
};
$scope.reset = function () {
$scope.productToAdd.length = 0;
};
$scope.remove = function (index) {
$scope.productToAdd.splice(index, 1);
};
$scope.addProduct = function () {
$scope.productToAdd.push({
tipologia: '',
descrizione: '',
contratto: '',
ctv: '',
possesso: ''
});
};
$scope.open = function ($uibModal) {
var modalInstance = $uibModal.open({
animation: $scope.animationsEnabled,
templateUrl: 'finanziarioTerziSearch.html' ,
controller: 'finanziarioTerziModule',
resolve: {
items: function () {
return $scope.items;
}
}
});
};
open.$inject = '$uibModal';
finanziarioTerziService.getPatrimonioTerzi().then(function (response) {
if (response.status != '200') {
console.log('status diverso da 200');
return;
}
var elenco = response.data;
for (var i = 0; i < elenco.length; i++) {
$scope.elencoPatrimonioTerzi.push(elenco[i]);
}
});
}]);
})(angular);
模板(.html文件)
<div class="modal-header">
<h3 class="modal-title">This is template 1</h3>
</div>
<div class="modal-body">
<ul>
<li ng-repeat="item in items">
<a href="#" ng-click="$event.preventDefault(); selected.item = item">{{ item }}</a>
</li>
</ul>
Selected: <b>{{ selected.item }}</b></div>
按鈕(在另一個控制器內)
<button class="btn btn-default" ng-click="open()" >Cerca Prodotto</button>
我試着在控制器中注入$ uibModel,但是沒有工作抱歉我的語言,我是意大利語
編輯:在index.html
<script src="../bower_components/jquery/dist/jquery.js"></script>
<script src="../bower_components/angular/angular.js"></script>
<script src="../bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script>
<script src="../bower_components/angular-route/angular-route.js"></script>
<script src="../bower_components/angular-ui-router/release/angular-ui-router.js"></script>
EDIT2:在app.js中調整ng-controller EDIT 3:
angular.module('patrimonioApp',['ngRoute', 'ui.bootstrap', 'ui.router',
'commonModule', 'homeModule', 'finanziarioModule', 'polizzeModule', 'finanziarioTerziModule' ])
.config(['$routeProvider', function($routeProvider) {
編輯4:我解決了,但現在我有一個新的錯誤
正如我所知,您在控制器中注入依賴項的順序與參數列表不匹配。 請改正。
angular.module('finanziarioTerziModule')
.controller('finanziarioTerziController', ['$scope', 'finanziarioTerziService','$uibModal', function ($scope, $uibModal, finanziarioTerziService) {
$ uibModal在注射列表中排名第三,但在params列表中排名第二。 訂單應該相同。 PFB正確的訂單。
angular.module('finanziarioTerziModule')
.controller('finanziarioTerziController', ['$scope', 'finanziarioTerziService','$uibModal', function ($scope, finanziarioTerziService, $uibModal) {
請更正訂單,看看是否有效。 我希望如此。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.