角度链接的问题

时间:2017-04-01 11:00:43

标签: javascript angularjs ngroute

你好,我有角度的这个问题,我不知道如何解决它,

<td><a href="#!/repo/{{searchValue}}/{{repo.name}}">{{repo.name}}</a></td>

我在我看来有这个并且在这里定义了路线

(function(){
   var git = angular.module("main", ["ngRoute"]);
   git.config(function($routeProvider){
   $routeProvider
     .when("/main", {
        templateUrl: "main.html",
        controller: "MainCtrl"
      })
      .when("/user/:username", {
        templateUrl: "user.html",
        controller: "userController"
      })
      .when("/repo/:username/:reponame", {
        templateUrl: "repo.html",
        controller: "repoController"
      })
      .otherwise({redirectTo: "/main"});
  });
}());

但是每当我点击链接时,显示的网址为http://localhost/plunk/#!/main#%2Fuser%2Fangular,由于某些原因“/”被替换为“%2F”,加载的网址是其他网址,但是如果我知道,http://localhost/plunk/#!/user/angular它工作正常,请问我该如何解决这个问题

1 个答案:

答案 0 :(得分:1)

通常,%2F是正斜杠/字符的百分比编码。为了在您的配置中修复包含$locationProvider.hashPrefix('');

你可以,

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