如何在 angularjs 中关闭历史记录处理



有没有办法禁用 angularjs 的历史和 url 处理,例如使用 jquery 移动历史处理程序?

例如,在jQuery Mobile中,您可以通过设置以下内容来禁用历史记录处理程序:

$.mobile.ajaxEnabled = false;
$.mobile.linkBindingEnabled = false;
$.mobile.hashListeningEnabled = false;
$.mobile.pushStateEnabled = false;

AngularJS等价物是什么?

路由配置后,您必须声明将禁用历史记录跟踪的委托:

var app = angular.module('TagGadget', ['ngRoute']);
app.config(function ($routeProvider) {
    $routeProvider
        // route for the home page
        .when('/home1', {
            template: '<div ><h1>Home Page</h1><p>{{ message }}</p></div>',
            controller: 'maincontroller'
        })
        .otherwise({
        redirectTo: '/home1'
      });
   });
app.config( ['$provide', function ($provide){
    $provide.decorator('$sniffer', ['$delegate', function ($delegate) {
        $delegate.history = false;
        return $delegate;
    }]);
}])

最新更新