问题描述
还是$location.path()么我的代码是这样的:
$scope.toCreate = function () { console.log(’create’) $state.go(’createAccount’) } $stateProvider.state(’login’, { url:’/login’, templateUrl:’js/pages/login.html’, controller:’loginCtrl’}).state(’createAccout’, {url:’/createAccount’,templateUrl:’js/pages/createAccount.html’,controller:’createAccountCtrl’ })
浏览器控制台报错如下:
Error: Could not resolve ’createAccount’ from state ’login’ at Object.transitionTo (http://localhost:63342/atMoon/www/lib/ionic/js/ionic.bundle.js:33795:39) at Object.go (http://localhost:63342/atMoon/www/lib/ionic/js/ionic.bundle.js:33678:19) at Scope.$scope.toCreate (http://localhost:63342/atMoon/www/js/controllers/loginCtrl.js:8:17) at http://localhost:63342/atMoon/www/lib/ionic/js/ionic.bundle.js:18520:21 at http://localhost:63342/atMoon/www/lib/ionic/js/ionic.bundle.js:42067:9 at Scope.$eval (http://localhost:63342/atMoon/www/lib/ionic/js/ionic.bundle.js:20382:28) at Scope.$apply (http://localhost:63342/atMoon/www/lib/ionic/js/ionic.bundle.js:20480:23) at HTMLButtonElement.<anonymous> (http://localhost:63342/atMoon/www/lib/ionic/js/ionic.bundle.js:42066:13) at http://localhost:63342/atMoon/www/lib/ionic/js/ionic.bundle.js:10674:10 at Array.forEach (native)
这是为什么
问题解答
回答1:引入 $state 服务,然后使用 $state.go 即可。具体参数看文档:$state#go
回答2:遇到了同样的问题!
.controller(’CinemasCtrl’, function($scope, $rootScope, $state) {...$scope.show = function(cinemaId) { $state.go(’cinema.info’, { id: cinemaId });};...})
引入了$state服务,但是还是出现相同的问题,不知道你解决了没有?
回答3:$httpProvider interceptor
.factory(’auth403’, [’$rootScope’, ’$q’, ’$location’, function auth403($rootScope, $q, $location) { return {request: function (config) { console.log(config); var start = new Date(); return config;},response: function (result) { return result;},responseError: function (rejection) { console.warn(’Failed with http’, (rejection.message || rejection.status), ’status’); if (rejection.status == 403) { console.warn(’Forbidden, need login to auth’); $location.path(’/login’); } return $q.reject(rejection);} }; }])
回答4:
angular.module(’ngApp’, [’ui.router’]) .config(function ($stateProvider, $urlRouterProvider) { ……}) ##
回答5:state(’createAccout’, { url:’/createAccount’, templateUrl:’js/pages/createAccount.html’, controller:’createAccountCtrl’ })
createAccount.html 创建了吗?createAccountCtrl 这个 JS 文件引入到 html 中了吗?