2016-09-18 452 views
0

,同時在工作過程中從Pluralsight,我有一個問題。locationProvider不工作的角度

angularFormsApp.config(
 
    ["$routeProvider", "$locationProvider", 
 
    function ($routeProvider, $locationProvider) { 
 
    $routeProvider 
 
    .when("/home", { 
 
     templateUrl: "app/Home.html", 
 
     controller: "HomeController" 
 
    }) 
 
    .when("/newEmployee", { 
 
     templateUrl: "app/Employee/employeeTemplate.html", 
 
     controller: "employeeController" 
 
    }) 
 
    .when("/updateEmployee/:id", { 
 
      templateUrl: "app/Employee/employeeTemplate.html", 
 
      controller: "employeeController" 
 
    }) 
 
    .otherwise({ 
 
     redirectTo: "/home" 
 
    }); 
 
    $locationProvider.html5Mode({ 
 
     enabled: true, 
 
     requireBase: false 
 
    }); 
 
}]);

我已經尋找到了一個論壇,因爲它是給錯誤不使用此之後添加「requireBase」。現在,如果運行我的代碼,我不能直接進入Update Employee頁面。當我點擊更新員工時,什麼都沒有發生,我按取消,然後'添加員工',但'更新員工'變得可見,而不是'添加'。當我點擊提交時,沒有輸入調試代碼,它給了我'未找到'服務器端錯誤。

我評論的代碼

$locationProvider.html5Mode({ 
     enabled: true, 
     requireBase: false 
    }); 

看到正在傳遞的網址,然後它的工作。你能幫我解決這個問題嗎?實際上,我們必須使用這段代碼來隱藏網址。

回答

1

我終於找到了答案。該快捷方式,這種方法是:

$locationProvider.html5Mode(true); 

這將等於

$locationProvider.html5Mode({ 
    enabled: true, 
    requireBase: true, 
    rewriteLinks: true 
}); 

我做錯了什麼,當我使用的快捷鍵,在瀏覽器中我的F12工具們給了以下錯誤: 「locationProvider需要一個基礎href標籤」 我把這與上面的語句中的requireBase參數混淆了,沒有任何工作適合我。 我增加了以下內容:在我的Index.cshtml頁頭部分

<base href="/" /> 

和它的工作。