我有一个使用ui路由器设置的父/子方案。当我单击加载页面中的按钮或href时,状态加载模板和控制器成功。但是当我点击浏览器后退按钮或然后转发按钮时,它会更改网址,但没有任何反应。 (我正确添加,整个应用程序在手动点击时工作正常)
另外还有一些你需要知道的信息,我在这里举一个例子。
有一个"创建一个帐户"签名表单中的按钮。当我点击它时,URL从/#/ login更改为/#/ signup。然后,如果我在浏览器中单击后退按钮,它会将URL更改回/#/ login,但没有任何反应,我仍然在注册视图中。然后,如果我将光标移动到注册页面中的文本字段并单击它,模板将立即更改为签名视图。
我尝试了很多方法来解决这个问题,因为一周之后,我仍然无法找到解决方案。如果有人可以帮助解决这个问题,真的很感激。谢谢!
这是我的app.js
var app = angular.module('inspinia', [
'ui.router', // Routing
'oc.lazyLoad', // ocLazyLoad
'ui.bootstrap',
'angularSpinner', // Ui Bootstrap
'oitozero.ngSweetAlert',
'ngTable',
'ngResource',
'angularUtils.directives.dirPagination',
'ngTagsInput'
]);
app.config(function($stateProvider, $urlRouterProvider, $ocLazyLoadProvider) {
$urlRouterProvider.otherwise('/login');
$stateProvider
.state('index', {
abstract: true,
url: '/index',
cache: false,
templateUrl: 'views/common/content.html',
})
// Login View
.state('login', {
url: '/login',
cache: false,
templateUrl: 'views/login.html',
controller: 'LoginController',
data: { pageTitle: 'Login', specialClass: 'gray-bg' }
})
// Signup View
.state('register', {
url: '/signup',
cache: false,
templateUrl: 'views/signup.html',
controller: 'RegisterController',
data: { pageTitle: 'Signup', specialClass: 'gray-bg' },
resolve: {
loadPlugin: function ($ocLazyLoad) {
return $ocLazyLoad.load([
{
name: 'ngCookies',
files: ['js/angular/angular-cookies.min.js'],
cache: false
}
]);
}
}
})
});
答案 0 :(得分:0)
此问题是由index.html中的某些CDN引起的。我尝试一一删除,然后发现需要删除的内容。