需要 / 角度 / 业力 / ui-router - 错误:无法从状态“”解析“登陆”
Require / Angular / Karma / ui-router - Error: Could not resolve 'landing' from state ''
我已经看到针对其他问题发布的此症状,而我最接近我的问题的是这个离子问题:
无法解决"...' 从状态 ''
PhantomJS 1.9.8 (Mac OS X 0.0.0) 控制器:ContainerCtrl 测试失败 错误:无法从状态"解析"着陆"
我是 Angular 的 Karma 测试新手,很难调试范围问题。
应用.js
.config(function($stateProvider, $urlRouterProvider) {
// For any unmatched url, redirect to landing
$urlRouterProvider.otherwise("/");
// Now set up the states
$stateProvider
.state('guide', {
url: "/guide",
templateUrl: "views/guide.html",
controller: 'SurveyController as main'
})
.state('stop', {
url: "/stop",
templateUrl: "views/stop.html",
controller: 'StopCtrl as stop'
})
.state('landing', {
url: "/",
templateUrl: "views/landing.html",
controller: 'AboutCtrl as about'
});
});
容器规范.js
define(['angular', 'angular-mocks', 'app'], function(angular, mocks, app) {
'use strict';
describe('Controller: ContainerCtrl', function () {
var ContainerCtrl, $state;
beforeEach(angular.mock.module('app.controllers.ContainerCtrl', 'ui.router'));
beforeEach(angular.mock.inject(function($rootScope, $controller, _$state_) {
//create an empty scope
ContainerCtrl = $rootScope.$new();
$state = _$state_;
//declare the controller and inject our empty scope
$controller('ContainerCtrl', { $scope : ContainerCtrl });
}));
});
});
容器.js
define([
'angular',
'services/dataservice'], function (
angular,
dataService // jshint ignore:line
) {
'use strict';
angular.module('oslerApp.controllers.ContainerCtrl', [])
.controller('ContainerCtrl', [
'$scope',
'$rootScope',
'$state',
function(
$scope,
$rootScope,
$state) {
$state.go('landing');
}]);
});
更新:更改为日志级别:配置。LOG_DEBUG,我看到 Spec 文件的加载顺序在 app.js 和 ui.router 文件之前。
INFO [PhantomJS 1.9.8 (Mac OS X 0.0.0)]: Connected on socket B-PFcQHXMLMqx8cOoznu with id 19321969
DEBUG [launcher]: PhantomJS (id 19321969) captured in 4.068 secs
DEBUG [web-server]: serving: /deploy/node_modules/karma/static/context.html
DEBUG [web-server]: serving (cached): /deploy/node_modules/requirejs/require.js
DEBUG [web-server]: serving (cached): /deploy/node_modules/karma-requirejs/lib/adapter.js
DEBUG [web-server]: serving (cached): /deploy/test/test-main.js
DEBUG [web-server]: serving (cached): /deploy/bower_components/jquery/dist/jquery.js
DEBUG [web-server]: serving (cached): /deploy/node_modules/karma-jasmine/lib/jasmine.js
DEBUG [web-server]: serving (cached): /deploy/node_modules/karma-jasmine/lib/boot.js
DEBUG [web-server]: serving (cached): /deploy/node_modules/karma-jasmine/lib/adapter.js
DEBUG [web-server]: serving (cached): /deploy/bower_components/angular/angular.js
DEBUG [web-server]: serving (cached): /deploy/test/spec/controllers/containerSpec.js
DEBUG [web-server]: serving (cached): /deploy/test/spec/services/dataserviceSpec.js
DEBUG [web-server]: serving (cached): /deploy/app/scripts/app.js
DEBUG [web-server]: serving (cached): /deploy/bower_components/angular-ui-router/release/angular-ui-router.js
DEBUG [web-server]: serving (cached): /deploy/app/scripts/services/dataservice.js
DEBUG [web-server]: serving (cached): /deploy/app/scripts/controllers/container.js
你正在尝试通过 $state.go
命令转到登陆状态,但尚未在应用中定义登陆状态.js。解决这个问题,看看你怎么做。
相关文章:
- 当服务失败时,如何解析状态
- 在状态解析时在角度 ui 路由器中注入库
- AngularJS〔UI路由器〕urlRouteProvider.when()与路由到子状态的解析
- 错误:无法解析'api.movieDetails'从状态'api'
- 如何使用Angular UI Router解析所有状态的数据
- 在任何状态下解析UI路由器
- angularjs状态无法解析
- 如何单元测试输入和解析 UI 路由器状态
- 需要 / 角度 / 业力 / ui-router - 错误:无法从状态“”解析“登陆”
- Chrome:为什么 serviceWorker.ready 解析为处于“已安装”状态的服务工作者注册
- 从状态提供程序的解析方法更改角度应用程序的状态
- UI 路由器:是否可以解析子状态中的父承诺
- 如何在节点中解析 HTTP 状态代码
- ui路由器状态解析中的数组数据在注入后无法从控制器内访问
- 当页面刷新或深链接时,Angular-ui-router无法实现状态解析的承诺
- Angular状态解析不注入控制器
- 状态解析在ui-router中不起作用
- 在angular ui路由器状态解析中从$http获取错误回调
- Angular 1.x-将组件状态解析数据传递给其他组件
- 为什么ui路由无法从状态2解析状态1