为什么我得到一个角未知提供商注入错误时,传递一个数组的模式

Why am I getting an angular unknown provider injector error when passing an array to a modal?

本文关键字:一个 模式 错误 数组 未知 提供商 为什么 注入      更新时间:2023-09-26

当试图打开一个以数组为参数的模态时,我一直得到这个错误:https://docs.angularjs.org/error/$injector/unpr?p0=listItemsProvider%20%3C-%20listItems%20%3C-%20SingleActionListModalCtrl

这是控制器:

controller('SingleActionListModalCtrl', ['$scope', '$uibModalInstance', 'modalTitle', 'modalText', 'listItems', 'cancelBtnCaption', 'cancelBtnFunction',
function ($scope, $uibModalInstance, modalTitle, modalText, listItems, cancelBtnCaption, cancelBtnFunction) {
    $scope.modalTitle = modalTitle;
    $scope.modalText = modalText;
    $scope.list = listItems;
    $scope.cancelBtnCaption = cancelBtnCaption;
    $scope.cancel = function () {
        cancelBtnFunction();
        $uibModalInstance.close();
    };
}]).

下面是modal的视图:

<div>
    <script type="text/ng-template" id="EventFooterSingleActionListModal">
        <div class="modal-header">
            <h3 class="modal-title">{{ modalTitle }}</h3>
        </div>
        <div class="modal-body">
            {{ modalText }}
            <ul>
                <li ng-repeat="listItem in list track by $index">{{ listItem }}</li>
            </ul>
        </div>
        <div class="modal-footer">
            <button class="btn btn-primary" type="button" ng-click="cancel()">{{ cancelBtnCaption }}</button>
        </div>
    </script>
</div>

下面是函数定义:

    ModalFactory.OpenSingleActionListModal = function (modalName, title, msg, listItems, cancelCaption, cancelFunction) {
        var modalInstance = $uibModal.open({
            animation: true,
            templateUrl: modalName,
            controller: 'SingleActionListModalCtrl',
            size: null,
            resolve: {
                modalTitle: function () {
                    return title;
                },
                modalText: function () {
                    return msg;
                },
                list: function() {
                    return listItems;
                },
                cancelBtnCaption: function () {
                    return cancelCaption;
                },
                cancelBtnFunction: function () {
                    return cancelFunction;
                }
            }
        });
    }

下面是函数调用:

                    ModalFactory.OpenSingleActionListModal('EventFooterSingleActionListModal',
                        'Modal title', 'Modal text',
                         ['list item 1', 'list item 2'],
                        'Close', function () { });

在控制器中,您将其命名为listItems,在您的解析中,它是list