ngDialog.open 不是函数

ngDialog.open is not a function

当我尝试从视图调用 openDialog 函数时,出现以下错误 ngDialog.open 不是函数 这是我的代码

(function () {
    'use strict';
    angular
        .module('app.user')
        .controller('userController', Controller);

    Controller.$inject = ['$rootScope', '$log', 'ngDialog', 'tpl','DataService'];

    function Controller($rootScope, $log,ngDialog,tpl, DataService) {

        var vm = this;
        vm.user = {};
        vm.createUser = function() {
            DataService.createUser(user);
        }
        vm.openDialog = function() {
        $log.log('vm.openDialog is running')
        ngDialog.open({
            template: 'createUser',
            className: 'ngdialog-theme-default'
        })
        }
        activate();


        function activate() {

        }

    }
})();

所以可能是什么问题? 谢谢。

在此处查看完整的工作演示。

您忘记添加.module('app.user',['ngDialog'])

ngDialog.open(
{
    template: 'createUser',
    className: 'ngdialog-theme-default'
});

http://plnkr.co/edit/dpbE6lgQDxJYZYOXqU6j?p=preview

试试这个

function Controller($rootScope, $log, ngDialog ,tpl, DataService) {

        var vm = this;
        vm.user = {};
        vm.createUser = function() {
            DataService.createUser(user);
        }
        ngDialog.open = function() {
        $log.log('vm.openDialog is running')
        ngDialog.open({
            template: 'createUser',
            className: 'ngdialog-theme-default'
        })
        }
        activate();