参数'DemoController'不是函数,未定义

时间:2015-10-08 23:47:19

标签: javascript angularjs

我收到上述角度误差,我不确定问题是什么。

我正在使用路由器来调用模板和相关的JS文件。

这是我的路由器代码:

...

$router.config([

            {
                path:'/preview',
                component: 'connections/preview'
            }
            ]);

... 我的模板文件具有相同的名称,并使用如下控制器:

...

<div ng-controller="PreviewController as prevCtrl">

...

JS文件如下所示。

...

(function (){
    'use strict';
    angular.module('myMod',[]).controller('PreviewController', function($http){

var vm = this;

        $http.get("https://api.myjson.com/bins/30e2a")
            .success(function(response) {
            //Dummy data taken from JSON file
            vm.firstName = response.firstName;
            vm.lastName = response.lastName;
            vm.dateAdded = response.dateAdded;
            vm.typeofDB = response.typeofDB;
            vm.accessLevel= response.accessLevel;
            vm.description = response.fileDescription;
            vm.fileSize = response.fileSize;
            vm.columns = response.columns;
            vm.rows = response.rows;
            vm.demoFileName = response.fileName;
            vm.demoFileType = response.fileType; 
            vm.usersName = response.usersName;


};

...

当我加载页面时,我收到以下错误:

错误:[ng:areq]参数'PreviewController'不是函数,未定义

我想我的角度脚本没有加载。

有人可以指导我哪里出错了吗?

1 个答案:

答案 0 :(得分:0)

您可能已在其他位置定义了您的模块。在上面的代码中,方形括号重新定义它。因此,如果您在其他地方进行了定义,只需更改:

angular.module('myMod',[]).controller('PreviewController', function($http){

要:

angular.module('myMod').controller('PreviewController', function($http){

你应该好好去。