我的路线如下:
when('/show_project/:name', {
templateUrl: 'app/projects/show.html',
}).
我观察到,当我请求类似/show_project/trying%29
的网址时,angularjs会自动将其转换为/show_project/trying)
,这可能是因为网址中确实允许使用字符“)”。
但是,我需要在$routeParams.name
中获取网址中引入的原始字符串,在本例中为trying%29
。
有没有办法实现这个目标?
感谢您的帮助。
答案 0 :(得分:0)
您可以使用ngSanitize:
执行此操作你的模块:
'use strict';
angular
.module('appsApp', ['ngRoute', 'ngSanitize'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/show_project/:name', {
templateUrl: 'app/projects/show.html',
})
}]);
你的控制器:
'use strict';
angular
.module('appsApp')
.controller('appsCtrl', ['$scope', '$routeParams', '$sanitize',
function($scope, $routeParams, $sanitize) {
var controller = this;
var name = $routeParams.name;
$scope.name = $sanitize(name);
}]);
注意:我只是看了,看起来这里有一个新的官方Angular版本: