ngDialog无法使用“外部”控制器

时间:2014-08-22 16:25:04

标签: angularjs ng-dialog

this error弹出时我得到ng-dialog。 这是弹出对话框的功能:

var dialog = ngDialog.open({
        template: 'public/module/fileManagement/filePopUp.tpl.html',
        scope: $scope,
        controller : 'FileController',
        $event: $event
    });

这是控制器的代码:

var fileModule = angular.module('fileModule', []);
fileModule.controller('FileController', function($scope, ngDialog){
var img = {name:'a',description:'a',type:'d'};
$scope.init = function () {
    $scope.img = img;
}
$scope.init();});

弹出窗口中的结果如下所示:

nom: {{img.name}}

注意:

  • 我使用控制器测试它,在对话框外没有问题。
  • 这是一位官员'在ngDialog pop(第110行)中使用的控制器的example(第202行)
  • 我已经将js文件添加到index.html中,如here
  • 所述

2 个答案:

答案 0 :(得分:3)

尝试更改此行:

controller : 'public/module/fileManagement/FileController',

就是这样:

controller : 'FileController',

示例Plunker: http://plnkr.co/edit/5nWJfHf0k5n2reFqcCDL?p=preview

希望这有帮助。

答案 1 :(得分:1)

感谢 runTarm ,我意识到plunker实施与我的差异:

我创建了一个模块(不是主模块):

var fileModule = angular.module('fileModule', []);

并将控制器添加到该模块:

fileModule.controller('FileController', function(){...});

runTarm将控制器添加到主模块,因此它运行良好。见他的plunker

为了让我的实现工作,我需要将'fileModule'注入主模块:

var app = angular.module('app', ['ngRoute', 'ngDialog','fileModule']);