角JS'路线'不匹配%2F组件(EN codeD'/')

编程入门 行业动态 更新时间:2024-10-07 18:25:20
本文介绍了角JS'路线'不匹配%2F组件(EN codeD'/')的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有角的JS'路线'如下:

I have a 'route' in Angular JS as follows

$routeProvider.when('/foos/:fooId', { controller: FooController, templateUrl: 'foo.html'});

和它的伟大工程,除非:fooId组件包含一个/或%2F(EN codeD格式)

and it works great, unless the :fooId component contains either a '/' or '%2F' (encoded form)

我怎样才能使这项工作,我的'fooId可以包含/秒?

How can I make this work, my 'fooId' can contain /s ?

推荐答案

您不能很容易地做到这一点,因为如果你在使用它与%2F A环节,浏览器将只去code为你,它会最终被 / 。 AngularJS目前不允许你在 $路线 PARAMS使用 / 。

You can't easily do this because if you use a link with %2F in it, the browser will just decode it for you and it'll end up being /. AngularJS currently doesn't allow you to use / in $route params.

您可以双击连接code它,就像在这个plnkr:plnkr.co/edit/e04UMNQWkLRtoVOfD9b9?p=$p$pview

You can double encode it, like in this plnkr: plnkr.co/edit/e04UMNQWkLRtoVOfD9b9?p=preview

var app = angular.module('app', []); app.controller('HomeCtrl', function ($scope, $route) { }); app.controller('DirCtrl', function ($scope, $route) { var p = $route.current.params; $scope.path = decodeURIComponent(p.p1); }); app.config(function ($routeProvider) { $routeProvider .when('/', {templateUrl: 'home.html', controller: 'HomeCtrl'}) .when('/dir/:p1', {templateUrl: 'dir.html', controller: 'DirCtrl'}) .otherwise({redirectTo: '/'}); });

和链接将是:< A HREF =#/ DIR / A%252Fb%252Fc>点击此处< / A>

另一种选择,如果你有 / 在参数字符可以在这里找到了一组数字:How我可以让angular.js路线长路径

Another option, if you have a set number of / characters in your parameters can be found here: How can I make the angular.js route the long path

更多推荐

角JS'路线'不匹配%2F组件(EN codeD'/')

本文发布于:2023-11-25 21:32:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1631426.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:组件   不匹配   路线   JS   EN

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!