AngularJS在网址中将'/'转换为'%2F

时间:2016-06-30 18:06:43

标签: angularjs

我有一个routeprovider:

 $routeProvider.when("/editor/:tripName*", {
              controller: "tripEditorController",
              controllerAs: "vm",
              templateUrl: "/views/tripEditorView.html"
          });

和html类似:

<td><a ng-href="#/editor/{{ trip.name  | escape}}" class="btn btn-sm btn-primary">Manage</a></td>

但是当我点击按钮时,我的网址会转换为奇怪的内容

/应用/车次#!/#%2Feditor%2FIndia%2520Trip

感谢任何指针以使其得到修复。

3 个答案:

答案 0 :(得分:0)

ng-href指令不需要值中的哈希值。尝试如下。

<td>
  <a ng-href="editor/{{ trip.name  | escape}}" 
      class="btn btn-sm btn-primary">Manage</a>
</td>

参见下页:
Doc:https://docs.angularjs.org/api/ng/directive/ngHref
示例:https://plnkr.co/edit/?p=preview

答案 1 :(得分:0)

正如我可以看到您尝试编辑旅行详细信息的代码,而不是从旅行名称获取详细信息通过id获取,因为名称可能有空格,破折号等,而重定向URL将会发生变化。

答案 2 :(得分:0)

只添加一个!哈希之后签名,因为有些案例就是这样