为什么我的控制器未在以下代码中注册? [英] Why my controller is not registered in below code?

查看:55
本文介绍了为什么我的控制器未在以下代码中注册?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的索引文件:

<!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";
}])

我的HomingController.js

My HomingController.js

var mainApp = angular.module('myApp', ['ngRoute']); 
mainApp.controller('homingController', ['$scope', function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
}])

我的Home.html代码:

My Home.html code :

<div ng-controller="homingController">
{{ lastName }} Hello
</div>

现在我正面临问题:

1)在homingController中,如果我添加的第一行是:

1) In homingController, if I add first line that is :

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

然后它给我错误:

angular.js:14328错误:[$ controller:ctrlreg]未注册名称为'homingController'的控制器.

angular.js:14328 Error: [$controller:ctrlreg] The controller with the name 'homingController' is not registered.

1)在homingController中,如果我不添加,则添加第一行:

1) In homingController, if I Dont add add first line that is :

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

然后它给我错误:

angular.js:14328错误:[$ controller:ctrlreg]未注册名称为'homingController'的控制器.

angular.js:14328 Error: [$controller:ctrlreg] The controller with the name 'homingController' is not registered.

谢谢!

推荐答案

您两次声明了该模块,

///删除您的 controller.js 文件中的这一行

//Remove this line in your controller.js file

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

///

app.controller("homingController", function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
});

DEMO

这篇关于为什么我的控制器未在以下代码中注册?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆