我试图用Angular单击按钮来打开模式。在btn上调用的函数上,单击以下代码:

        function openAddVideoModal() {
        var modalInstance = $mdDialog.show({
                templateUrl: 'createDesign.html',
                controller: 'createDesignCtrl',
                resolve: {
                    currentUser: function () {
                        return _this.currentUser;
                    },
                    postOptions: function() {
                        return {"receiverId":0};
                    }
                },
                parent: angular.element(document.body),
                clickOutsideToClose:true,
                fullscreen: false
            });
    }


但是,当我单击按钮时,我收到此错误消息:


  TypeError:$ mdDialog.show不是函数


谁能帮忙吗?先感谢您。

最佳答案

您以错误的顺序在控制器工厂函数中注入了依赖项

更改

.controller('Ctrl', [
   '$rootScope', '$scope', '$state', '$mdDialog', '$window', 'CONFIG_CONSTANTS', 'LanguageService',
     function($rootScope, $scope, $window, $state, $mdDialog, CONFIG_CONSTANTS, LanguageService) {


到(将$window从第3位移至第5位)

.controller('Ctrl', [
  '$rootScope', '$scope', '$state', '$mdDialog', '$window', 'CONFIG_CONSTANTS', 'LanguageService',
    function($rootScope, $scope, $state, $mdDialog, $window, CONFIG_CONSTANTS, LanguageService) {


始终确保必须以相似的顺序使用依赖项,这与将它们注入依赖项的inline array中的方式相同。

10-05 21:02
查看更多