2013-10-03 73 views
1

有沒有辦法禁用jQuery的移動歷史記錄處理程序使用angularjs的歷史和url處理?如何關閉angularjs中的歷史記錄處理?

例如在jQuery的手機,您可以通過設置禁用歷史記錄處理程序:

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

angularjs相當於什麼?

回答

2

路由配置後,您必須聲明的委託,將禁用歷史跟蹤:

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

我很高興,我發現這個答案。花了我一段時間才發現AngularJS干擾了歷史API。絕對不是我最喜歡的框架。 – juminoz

+0

不能與$ stateProvider一起使用 –