Angularjs$状态错误

Angularjs $state error

本文关键字:错误 状态 Angularjs      更新时间:2023-09-26

我在实现angularjs应用程序的状态时遇到问题。我见过很多人都有同样的问题,但我找不到解决我问题的办法。

我的app.js

'use strict';
var app = angular.module('app', ['ui.router', 'ngRoute', 'ngResource','testCtrl']);
app.config(['$stateProvider', '$urlRouterProvider', '$routeProvider', '$locationProvider','$httpProvider', function ($stateProvider, $urlRouteProvider, $routeProvider, $locationProvider,$httpProvider) {

        $locationProvider.html5Mode(true);
        $stateProvider
 .state('app.registerPage', {
                    url: "/tp/AddQ",
                    views: {
                        'menuContent': {
                            templateUrl: "views/Registration_view.php",
                            controller: 'testCtrl'
                        }
                    }
                });
        $urlRouteProvider.otherwise('/AEAS/admin/');
    }]);

我的控制器

var app = angular.module('app', []).controller('testCtrl', ['$scope', '$http','$state', function ($scope, $http,$state) {

        $scope.click = function(){
           console.log("done");
           $state.go('app.registerPage');

        };
    }]);

我的观点

<body>
<div class="container" ng-controller="testCtrl" ng-app="app">
            <div class="row">
                <form role="form" ng-submit="submit(data)">
                    <h1>Welcome to Heart attack predictor!</h1>
    <div id="body">
            <button><a href=""  ng-click="click();">Edit</a></button>
    </div>
                </form>
</div>
</div>
</body>

<script src="<?php echo base_url(); ?>angularjs/angular.min.js"></script>
<script src="<?php echo base_url(); ?>angularjs/angular-resource.min.js"></script>
<script src="<?php echo base_url(); ?>angularjs/angular-route.js"></script>
<script src="<?php echo base_url(); ?>angularjs/angular-ui-router.min.js"></script>
<script src="<?php echo base_url(); ?>assets/js/Controllers/testCtrl.js"></script>
<script src="<?php echo base_url(); ?>assets/js/app.js"></script>

这是我得到的错误

   Failed to instantiate module app due to:
Error: [$injector:modulerr] http://errors.angularjs.org/1.5.3/$injector/modulerr?p0=t...)
    at Error (native)
    at http://localhost/Heart_Attack_Predictor/angularjs/angular.min.js:6:416
    at http://localhost/Heart_Attack_Predictor/angularjs/angular.min.js:40:60
    at q (http://localhost/Heart_Attack_Predictor/angularjs/angular.min.js:7:355)
    at g (http://localhost/Heart_Attack_Predictor/angularjs/angular.min.js:39:135)
    at http://localhost/Heart_Attack_Predictor/angularjs/angular.min.js:39:304
    at q (http://localhost/Heart_Attack_Predictor/angularjs/angular.min.js:7:355)
    at g (http://localhost/Heart_Attack_Predictor/angularjs/angular.min.js:39:135)
    at eb (http://localhost/Heart_Attack_Predictor/angularjs/angular.min.js:43:164)
    at c (http://localhost/Heart_Attack_Predictor/angularjs/angular.min.js:20:463

首先,在testCtrl.js之前包含app.js

然后,在testCtrl.js中,您将重新声明在app.js中定义的变量app。因此,更改为:

app.controller('testCtrl');

而不是

var app = angular.module('app', []).controller('testCtrl')