角度路由 1.6.1 无法正常工作



感谢您的观看!这是我的问题。

[app.html]
...
<custom />
...
<script>
...
app.config(["$routeProvider", function ($routeProvider) {
    $routeProvider.when("/checkout", {
        templateUrl: "views/checkoutSummary.html",
    });
    $routeProvider.when("/products", {
        templateUrl: "views/productList.html"
    });
    $routeProvider.otherwise({
        templateUrl: "/views/productList.html",
    })
}])
...
</script>

"自定义"指令在这里:

<div class="navbar-right">
    <div class="navbar-text">
        <b>购物车:</b>
        {{itemCount()}} 个商品,
        {{total() | currency}}
    </div>
    <a href="#/checkout" class="btn btn-default navbar-btn">结算</a>
</div>

当我单击元素"a"时,浏览器中的 href 是:

http://localhost:3000/app.html#!#%2Fcheckout

$location.hash()/checkout

实际上,正确的 href 应该是:

http://localhost:3000/app.html#!/checkout

http://localhost:3000/app.html#!%2Fcheckout

为什么程序在"!"后面添加"#"?

TX,春节快乐!

Tx!我已经解决了!原因是在版本 1.6.1 中路由规则已更改。编写网址的正确方法是:

href="#!/checkout"

解决此问题

的另一种方法:

app.config(['$locationProvider', function($locationProvider) {
  $locationProvider.hashPrefix('');
}]);

跟随:https://github.com/angular/angular.js/commit/aa077e81129c740041438688dff2e8d20c3d7b52

相关内容

  • 没有找到相关文章

最新更新