angularjs状态无法解析
angularjs state cannot be resolved
我正试图在angularjs项目中点击按钮后加载一个新视图。我一直在犯这个错误。如何解决这个问题?由于我是angularjs的新手,我想我已经在我的app.js 中正确地给出了状态
app.js
'use strict';
var app = angular.module('app', ['ui.compat', 'ui.router', '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/');
}]);
第一视图
<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-ui-router.js"></script>
<script src="<?php echo base_url(); ?>angularjs/angular-route.js"></script>
<script src="<?php echo base_url(); ?>assets/js/app.js"></script>
<script src="<?php echo base_url(); ?>assets/js/Controllers/testCtrl.js"></script>
第二视图
<body>
<div class="container" ng-controller="testCtrl" ng-app="app">
<div class="row">
<form role="form" ng-submit="submit(data)">
<h1>Welcome to Registration Page</h1>
<div id="body">
<button><a href="" ng-click="submit();">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-ui-router.js"></script>
<script src="<?php echo base_url(); ?>assets/js/app.js"></script>
<script src="<?php echo base_url(); ?>assets/js/Controllers/regCtrl.js"></script>
控制器
angular.module('app', ['ui.router']).controller('testCtrl', ['$scope', '$state', function testCtrl($scope, $state) {
$scope.click = function () {
$state.go('app.registerPage');
};
}]);
错误
angular.min.js:116 Error: Could not resolve 'app.registerPage' from state ''
at Object.transitionTo (angular-ui-router.js:3179)
at Object.go (angular-ui-router.js:3107)
at m.$scope.click (testCtrl.js:8)
at fn (eval at <anonymous> (angular.min.js:226), <anonymous>:4:206)
at b (angular.min.js:124)
at e (angular.min.js:268)
at m.$eval (angular.min.js:142)
at m.$apply (angular.min.js:143)
at HTMLAnchorElement.<anonymous> (angular.min.js:268)
at Pf (angular.min.js:36)
您创建了一个无状态视图,因此angular不能从视图"跳转"到app.registerPage
状态。我认为您需要创建一个基本(home,index)状态,并将其指向您的第一个视图。
.state('home',
{
url: "/",
templateUrl:'views/your_first_view.html',
controller: "testCtrl"
});
此外,您需要从第一个视图div中删除ng-controller="testCtrl"
。
相关文章:
- 使用AngularJS中的UI路由器将状态重定向到默认子状态
- spring和angularJS(我得到了类似HTTP状态404的错误)
- AngularJS&Google可视化-使用状态更改处理程序(Google API)在HTML页面上查看$sco
- AngularJS-状态更改时停止自动刷新页面
- AngularJS$http重定向状态代码
- AngularJS UI路由器未进入默认状态
- angularjs-ui路由器父状态,参数加载在子状态之后
- Angularjs-ui路由器使用不同的参数进入相同的状态
- AngularJS ui路由器状态结构
- AngularJS-检测到n分钟内没有任何操作并进入默认状态
- AngularJS:使用ng-show/hide动态维护下拉列表的3种状态(InProgress、Success、Err
- Http状态代码工厂AngularJs
- Angularjs:ui路由嵌套状态下的绑定不起作用
- 保持元素处于禁用状态,直到未在 Angularjs 中选择下拉列表
- AngularJS - ui.router - 如何在动态添加它们后重定向到所需的状态
- 在更改状态 AngularJS 时删除函数
- 保存$location参数状态AngularJS
- 通过单状态AngularJS加载页面
- 注入另一个(父)控制器逻辑到派生状态(angularjs ui-router)
- 使用智能表在视图状态 AngularJs 之间持久化数据