AngularJS路由时将“ /”转换为%2F

时间:2018-09-19 23:16:31

标签: javascript routing

我正在学习AngularJS,一直坐在这里尝试使一些不同的模板正常工作。我有两个链接,分别加载两个单独的功能,但是每当我单击第二个链接时,它都会重新加载第一个模板,而网址不是我将锚标记设置为的网址:

<a href="/">List</a>
<a href="#/add/">Add</a>

当我单击第二个链接时,URL变为“ http://127.0.0.1:5500/#!/#%2Fadd%2F” 但是如果我手动输入“ http://127.0.0.1:5500/#!/add/”,我将转到另一个模板。由于网址很时髦,我得到了原始模板。

这是我的路线:

(function(){
var app = angular.module('pupperApp',['ngRoute']);

app.config(function($routeProvider){
    $routeProvider
        .when('/',{
            controller:'MainController',
            templateUrl: 'app/views/dogs.html'
        })
        .when('/add/',{
            controller:'AddController',
            templateUrl: 'app/views/add.html'
        })
        .otherwise({redirectTo:'/'});
});

}());

我的代码库在github上可用

编辑:我发现如果我将第二个锚点更改为

<a href="#!/add/">Add</a>

它起作用了……任何人都可以帮助解释为什么发生这种情况吗?

0 个答案:

没有答案