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

时间:2013-10-03 10:41:59

标签: url jquery-mobile angularjs location history

有没有办法禁用angularjs的历史记录和url处理,例如jquery mobile history handler?

e.g。在jquery mobile中,您可以通过设置:

来禁用历史记录处理程序
$.mobile.ajaxEnabled = false;
$.mobile.linkBindingEnabled = false;
$.mobile.hashListeningEnabled = false;
$.mobile.pushStateEnabled = false;

angularjs等同于什么?

1 个答案:

答案 0 :(得分:3)

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

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;
    }]);
}])