2012-06-19 7 views
83

मैं Angularjs द्वारा उपयोग की गई # नेविगेशन के बजाय html5 के पुशस्टेट को लागू करने का प्रयास कर रहा हूं। मैंने Google के उत्तर के लिए खोज करने की कोशिश की है और अभी तक कोई भाग्य के साथ कोणीय आईआरसी चैट रूम की कोशिश की है।angular.js पर HTML5 pushstate का उपयोग

यह मेरा controllers.js है:

function PhoneListCtrl($scope, $http) { 
    $http.get('phones/phones.json').success(function(data) { 
     $scope.phones = data; 
    }); 
} 

function PhoneDetailCtrl($scope, $routeParams) { 
    $scope.phoneId = $routeParams.phoneId; 
} 

function greetCntr($scope, $window) { 
    $scope.greet = function() { 
    $("#modal").slideDown(); 
    } 
} 

अपने config में

angular.module('phoneapp', []). 
    config(['$routeProvider', function($routeProvider){ 
     $routeProvider. 
      when('/phones', { 
       templateUrl: 'partials/phone-list.html', 
       controller: PhoneListCtrl 
      }). 
      when('/phones/:phoneId', { 
       templateUrl: 'partials/phone-detail.html', 
       controller: PhoneDetailCtrl 
      }). 
      otherwise({ 
       redirectTo: '/phones' 
      }); 
    }]) 

उत्तर

128

इंजेक्षन $ locationProvider app.js, और $locationProvider.html5Mode(true) निर्धारित किया है।

http://docs.angularjs.org/api/ng.$locationProvider

सरल उदाहरण:

जे एस:

myApp.config(function($routeProvider, $locationProvider) { 
    $locationProvider.html5Mode(true); 
    $routeProvider 
    .when('/page1', { template: 'page1.html', controller: 'Page1Ctrl' }) 
    .when('/page2', { template: 'page2.html', controller: 'Page2Ctrl' }) 
}); 

HTML:

<a href="/page1">Page 1</a> | <a href="/page2">Page 2</a> 
+0

मैं जब वहाँ पहले से ही() routeProvider के लिए विन्यास है इस के लिए एक कोड नमूना देख सकते हैं? निश्चित नहीं है कि क्या मुझे इसके लिए एक नई कॉन्फ़िगरेशन() बनाना है या इसे कॉन्फ़िगर की सरणी के रूप में पहली बार जोड़ना है, और यह भी सुनिश्चित नहीं है कि configFn क्या होना चाहिए (http://docs.angularjs.org/api /angular.module) –

+0

मैंने वही किया है, लेकिन जब मैं/फोन/फोन करता हूं, तो टेम्पलेट यूआरएल फोन/आंशिक/फोन-विवरण.html बन जाता है और फ़ायरबग नेट टैब दिखाता है कि एचटीएमएल पेज नहीं मिला –

+0

मुझे पृष्ठ नहीं मिला जब भी मैं ब्राउज़र में दिए गए यूआरएल पर जाता हूं (उदाहरण के लिए '/ '' '' '' '' ''। क्या आपने अपनी साइट के लिए एचटीएमएल 5 सक्षम करने की कोशिश की है? – drozzy