首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angularjs $state误差

Angularjs $state误差
EN

Stack Overflow用户
提问于 2016-03-27 11:53:00
回答 1查看 333关注 0票数 0

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

我的app.js

代码语言:javascript
复制
'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/');
    }]);

我的控制器

代码语言:javascript
复制
var app = angular.module('app', []).controller('testCtrl', ['$scope', '$http','$state', function ($scope, $http,$state) {


        $scope.click = function(){

           console.log("done");
           $state.go('app.registerPage');


        };

    }]);

我的观点

代码语言:javascript
复制
<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>

这就是我所犯的错误

代码语言:javascript
复制
   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
EN

回答 1

Stack Overflow用户

发布于 2016-03-27 12:04:08

首先,包括app.js之前的testCtrl.js

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

代码语言:javascript
复制
app.controller('testCtrl');

而不是

代码语言:javascript
复制
var app = angular.module('app', []).controller('testCtrl')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36246985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档