javascript - AngularJS - 找不到 Controller

标签 javascript angularjs angular-bootstrap

所以我尝试制作一个脚本来加载我的AngularJS所需的文件。应用程序。

但是当我运行Angular.bootstrap时我收到此错误

Error description at AngularJS home page

此错误是由于AngularJS造成的找不到我的masterController为什么是这样。我已经检查了模块的名称以及 Controller 的名称是否匹配。所以我很困惑为什么我无法识别 Controller 。

我的代码如下所示:

Index.html

<!doctype html>
<html ng-controller="masterController">
<head>
    <!-- META -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1"><!-- Optimize mobile viewport -->
    <meta name="author" content="Michael Tot Korsgaard">

    <title>Mythodea map explorer</title>

    <link rel="icon" type="image/png" href="favicon.png">

    <script src="lib/JQuery/1.12.3/jquery.min.js"></script>

    <script src="lib/AngularJS/1.5.5/angular.min.js"></script>
    <script src="lib/AngularJS/1.5.5/angular-animate.min.js"></script>
    <script src="lib/AngularJS/1.5.5/angular-aria.min.js"></script>
    <script src="lib/UI-Router/0.2.18/ui-router.min.js"></script>

    <script src="lib/moment/2.13.0/moment.js"></script>

    <script src="js/log.js"></script>
    <script src="js/build.js"></script>
</head>

<body ng-cloak>
    <div ui-view></div>
</body>
</html>

core.js

var app = angular.module('AcademiaUnitate', [
        'ui.router',
        'ngAnimate'
      ]);

ma​​ster.controller.js

angular.module('AcademiaUnitate')
.controller('masterController', function ($scope) {
});

build.js 我的 Angular 文件被添加到我的 <head> 中标签

var buildStart = moment(),
    fileCounter = 0;
initialize();
function initialize(){
    loadJson('app')
        .done(function(response){
            var files = response.files,
                folders = response.folders;
            getFiles(files, 'app')
                .done(function(response){
                    getFolders(folders, 'app')
                        .done(function(response){
                            bootstrap();
                        });
                })
       });
}

function getFolders(folders, path){
    var deferred = $.Deferred();

    if(folders.length > 0){
       loadFolder(path + '/' + folders[0])
            .done(function(response){
                folders.splice(0, 1);
                getFolders(folders, path)
                    .done(function(response){
                        deferred.resolve(response);
                    });
            });
   } else {
        deferred.resolve(true);
    }

    return deferred.promise();
}

function getFiles(files, path){
    var deferred = $.Deferred();

    if(files.length > 0){
        loadFile(path + '/' + files[0])
            .done(function(response){
                files.splice(0, 1);
                getFiles(files, path)
                   .done(function(response){
                        deferred.resolve(response);
                    });
            });
    } else {
        deferred.resolve(true);
    }

    return deferred.promise();
}
function loadFile(src){
    var defer = $.Deferred(),
        fileType = src.substring(src.lastIndexOf(".") + 1, src.length);

    var head = $('head');

    fileCounter++;

    if(fileType.toLowerCase() === 'js'){
        var script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = src;
        document.getElementsByTagName('head')[0].appendChild(script);
        defer.resolve(true);
    } else {
        defer.resolve(true);
    }

    return defer.promise();
}
function loadFolder(path){
    var defer = $.Deferred();

    loadJson(path)
        .done(function(response){
            var folders = response.folders,
                files = response.files;

            if(folders !== undefined){
                getFolders(folders, path)
                    .done(function(response){
                        if(files !== undefined){
                            getFiles(files, path)
                                .done(function(response){
                                    defer.resolve(response);
                                });
                        } else {
                            defer.resolve(response);
                        }
                    });
            } else {
                if(files !== undefined){
                    getFiles(files, path)
                        .done(function(response){
                            defer.resolve(response);
                        });
                } else {
                    defer.resolve(response);
                }
            }
        });

    return defer.promise();
}

function loadJson(path){
    var defer = $.Deferred();
    $.get(path + '/structure.json', function(response) {
        defer.resolve(response);
    });
    return defer.promise();
}

function bootstrap(){
    $(document).ready(function(){
        var bootstrapStart = moment();
        angular.bootstrap(function(){
        });
    });
}

我的 build.js 文件的作用是查找文件 structure.json其中告诉 js要添加到 <head> 的文件标记,然后在哪些文件夹中查找其他 structure.json文件。当所有这些完成后,Angular 将被引导。

最佳答案

当 Angular 引导应用程序时,包含主 Controller 功能的文件丢失。包括该文件。帮忙这个帮忙

关于javascript - AngularJS - 找不到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37769606/

相关文章:

javascript - 屏幕抓取分页数据

javascript - Node.js - 在客户端找不到全局变量

angularjs - 如何刷新 iframe 网址?

angularjs - Angular 未知提供商 : $modalProvider <- $modal <- Controller

javascript - contentDocument.location.reload 是否与 IE 6 兼容

javascript - 构建多 View (多页面)Knockout.js 应用程序

javascript - View 和模型中的日期与 POST 中的日期不同

angularjs - CORS Node js问题

javascript - 表单重置后,Angular-Bootstrap 不显示验证工具提示

angular - 如何在 Angular 库中添加 Bootstrap