Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的控制器没有在下面的代码中注册?_Javascript_Angularjs - Fatal编程技术网

Javascript 为什么我的控制器没有在下面的代码中注册?

Javascript 为什么我的控制器没有在下面的代码中注册?,javascript,angularjs,Javascript,Angularjs,我的索引文件: <!DOCTYPE html> <html ng-app="myApp" ng-controller="homingController"> <head> <title></title> <script src="./js/jquery-1.9.1.js"></script> <script src="./js/jquery-ui.js"></script> <scr

我的索引文件:

<!DOCTYPE html>
<html ng-app="myApp" ng-controller="homingController">
<head>
<title></title>
<script src="./js/jquery-1.9.1.js"></script>
<script src="./js/jquery-ui.js"></script>
<script src="./js/angular.js"></script>
<script src="./js/angular-ui-router.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.0/angular-route.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/1.0.3/angular-ui-router.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/1.0.3/angular-ui-router.min.js"></script>
<script src="./Controller/homingController.js"></script>
<link rel = "stylesheet" href = "./css/angular-material.min.css">
<link rel="stylesheet" href="./css/bootstrap-theme.min.css">
<link rel = "stylesheet" href = "./css/materialize.min.css">
<link href="./css/icon.css" rel="stylesheet">
<link rel ="stylesheet" href="./css/Main.css">
<title>Home Application</title>
</head>

<body>
<div class="navbar">
<a href="#/home">Home</a>
<a href="#/monitor">about</a>
</div>
<div ng-view></div>

<script>
var mainApp = angular.module('myApp', ['ngRoute']);

mainApp.config(function($routeProvider) {

    $routeProvider.when('/home', {
        template: "home",
        controller: 'homingController'
    })
        .when('/monitor', {
            template: "<p>{{firstName}}{{lastName}}</p>",
            controller: 'monitoringController'
        })
        .
        otherwise({
            redirectTo: '/'
        });
});

    mainApp.controller('monitoringController', ['$scope', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
}])
My Home.html代码:

<div ng-controller="homingController">
{{ lastName }} Hello
</div>
然后它给我一个错误:

angular.js:14328错误:[$controller:ctrlreg]未注册名为“homegcontroller”的控制器

1) 在HomegController中,如果我不添加第一行,即:

var mainApp = angular.module('myApp', ['ngRoute']);
var mainApp = angular.module('myApp', ['ngRoute']);
然后它给我一个错误:

angular.js:14328错误:[$controller:ctrlreg]未注册名为“homegcontroller”的控制器


谢谢

您两次声明模块

//删除
controller.js文件中的此行

var app = angular.module("myApp", []);
///


我认为问题在于您将控制器添加到模块的方式

尝试在HomegController中更改以下行

var app = angular.module("myApp", []);


萨吉塔兰是对的。您声明了两次模块,但是在controller.js中删除它会导致
uncaughtreferenceerror:app未定义的错误,因为您在创建控制器之前没有声明模块

我的建议是把你的主页变成

app.config(['$routeProvider', function( $routeProvider) {

    // Define routes
    $routeProvider.when('/home', {
        templateUrl: 'home.html',
        controller: 'homingController'
    }).when('/monitor', {
        templateUrl: 'home.html',
        controller: 'monitoringController'
    }).otherwise({
        redirectTo: 'home'
    });

}
]);

由于应用程序是在controller.js中首先定义的,因此您确定是否正确包含了
homegcontroller.js
?确保其已加载。您能为此代码创建一个plunker吗?是的,它已添加,并且我可以在源代码中看到它Plunkr由于重新定价的站点,我无法访问Plunkr也更新了HomegController代码这在控制台上出现错误,未捕获引用错误:应用程序不可用defined@CodeWithCoffee检查一下你的手帕!!有没有可能在代码笔中使用?我无法访问plunkr,…或者你可以粘贴在这里?非常感谢!!你的主控器里有什么..我无法重定向到那里它是一样的!只要改变你需要的任何东西1马克,如果它有帮助的话
var app = angular.module("myApp", []);
var app = angular.module("myApp");
app.config(['$routeProvider', function( $routeProvider) {

    // Define routes
    $routeProvider.when('/home', {
        templateUrl: 'home.html',
        controller: 'homingController'
    }).when('/monitor', {
        templateUrl: 'home.html',
        controller: 'monitoringController'
    }).otherwise({
        redirectTo: 'home'
    });

}
]);