locationProvider不适用于角度

时间:2016-09-18 15:13:17

标签: angularjs

Pluralsight开设课程时,我遇到了问题。



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'在查看论坛之后,因为它在没有使用它的情况下给出错误。现在,如果运行我的代码,我无法直接转到“更新员工”页面。当我点击更新员工时,没有任何反应,我按下取消,然后添加员工'但是“更新员工”#39;变得可见而不是添加'。当我点击提交时,它给了我“未找到”#39;没有输入调试代码的服务器端错误。

我评论了代码

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

查看正在传递的网址,然后才能正常工作。能不能帮我解决这个问题,因为实际上我们必须使用这段代码隐藏网址。

1 个答案:

答案 0 :(得分:1)

我终于找到了答案。此方法的快捷方式是:

$locationProvider.html5Mode(true);

这将等于

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

我做错了当我使用快捷方式时,浏览器中的f12工具发出以下错误: “locationProvider需要一个基础href标签” 我把它与上面语句中的requireBase参数混淆了一样,对我来说没什么用。 我添加了以下内容:

 <base href="/" />

在我的Index.cshtml页面的head部分,它工作正常。