ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript-角度:$uibModal未定义

2019-10-27 01:43:25  阅读:204  来源: 互联网

标签:angularjs twitter-bootstrap angular-ui-bootstrap html javascript


使用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:调整ng-controller
编辑3:在app.js中

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在注入列表中排第三,但在参数列表中排第二.顺序应该相同. PFB的顺序正确.

angular.module('finanziarioTerziModule')
    .controller('finanziarioTerziController', ['$scope', 'finanziarioTerziService','$uibModal', function ($scope, finanziarioTerziService, $uibModal) {

请更正订单,然后查看是否有效.我希望能.

标签:angularjs,twitter-bootstrap,angular-ui-bootstrap,html,javascript
来源: https://codeday.me/bug/20191027/1941123.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有