首頁  >  問答  >  主體

javascript - 初學angularJS+express,路由路徑中/轉換成%2F,導致路徑失效,求原因?

頁面開啟如下

點擊電腦鏈接,顯示url路徑如下

#點擊後

#期望的效果如下:

#我的程式碼如下 app.js,用的是"express": "^4.15.2"

var express = require('express');
var path = require('path');

var app = express();
//使用静态文件服务器中间件
app.use(express.static(path.join(__dirname,'app/public')));
app.listen(8080);

test.html


    <html ng-app="routingDemoApp">
<head>
    <meta charset="utf-8">
    <title>AngularJS 路由实例 - 菜鸟教程</title>
    <script src="/lib/jquery/dist/jquery.js"></script>
    <script src="/lib/bootstrap/dist/js/bootstrap.js"></script>
    <script src="/lib/angular/angular.js"></script>
    <script src="/lib/angular-route/angular-route.js"></script>
    <script>
        angular.module('routingDemoApp',['ngRoute'])
            .config(['$locationProvider','$routeProvider', function config($locationProvider, $routeProvider){

                $routeProvider
                    .when('/',{
                        template:'这是首页页面'
                    }).
                        when('/computers',{
                            template:'这是电脑分类页面'
                }).
                        when('/printers',{
                            template:'这是打印机页面'
                }).
                        otherwise('/');
            }]);
    </script>
</head>
<body>

<h2>AngularJS 路由应用</h2>
<ul>
    <li><a href="#/">首页</a></li>
    <li><a href="#/computers">电脑</a></li>
    <li><a href="#/printers">打印机</a></li>
    <li><a href="#/blabla">其他</a></li>
    <li><a href="#/printers">w3school</a></li>
</ul>

<p ng-view></p>



</body>
</html>

被這個問題困了很久,求大神指個方向,謝謝

漂亮男人漂亮男人2685 天前1158

全部回覆(1)我來回復

  • 天蓬老师

    天蓬老师2017-07-05 11:09:44

    這個是angular1.6預設給hash路由上添加了!(感嘆號),導致出錯,修改方法如下(添加配置,去掉默認前綴感嘆號):

        angular.module('routingDemoApp',['ngRoute'])
        .config(['$routeProvider', function($routeProvider){
            $routeProvider
            .when('/',{template:'这是首页页面'})
            .when('/computers',{template:'这是电脑分类页面'})
            .when('/printers',{template:'这是打印机页面'})
            .otherwise({redirectTo:'/'});
        }])
        //添加如下配置
        .config(['$locationProvider', function($locationProvider) {
            $locationProvider.hashPrefix("");
        }]);

    回覆
    0
  • 取消回覆