javascript - AngularJS : Change URL, 但不是浏览器后退和前进按钮的 Controller 或模板加载

标签 javascript html angularjs angular-ui-router

<分区>

我有一个使用 ui 路由器设置的父/子方案。当我在加载页面中单击按钮或 href 时,使用模板和 Controller 状态加载成功。但是当我单击浏览器后退按钮或前进按钮时,它会更改 url,但没有任何反应。 (我添加正确,手动点击时整个应用程序工作正常)

还有一个信息你需要知道,我在这里举个例子。

签名表单中有一个“创建帐户”按钮。当我单击它时,URL 从/#/login 更改为/#/signup。然后,如果我在浏览器中单击后退按钮,它会将 URL 更改回/#/login,但什么也没有发生,我仍在注册 View 中。然后,如果我将光标移动到注册页面中的文本字段并单击它,模板将立即更改为签名 View 。

一周以来我尝试了很多方法来解决这个问题,但仍然找不到解决方案。如果有人可以帮助解决这个问题,真的很感激。谢谢!

这是我的 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
                        }
                    ]);
                }
            }
        })
});

最佳答案

这个问题是由index.html 中的一些CDN 引起的。我试着一个一个地删除,并找到了我需要删除的内容。

关于javascript - AngularJS : Change URL, 但不是浏览器后退和前进按钮的 Controller 或模板加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40373077/

相关文章:

javascript - 如果图像宽度小于X,则添加类

java - 如何知道用户是否退出 Facebook,FB.Event.Subscribe 不起作用

javascript - 如何在 javascript 中向 borderStyle Canvas 添加渐变

html - 首次使用 CSS 构建的站点 block 在 Firefox 和 Safari 中显示不正确

javascript - 使用 ng-options 隐藏选择列表中的未定义值

javascript - Angular Translate 在 App.Config 中设置变量

javascript - 如何在 Angular Modal 服务中将输入值传递给 Controller

javascript - 不同的 'select all'复选框用于不同的复选框列表,angularjs

javascript - 在 React 渲染中循环对象

javascript - 在 HTML5 范围输入上禁用跟踪