【发布时间】:2015-09-30 13:10:41
【问题描述】:
这是我与ui-sref 属性指令一起使用的链接:
<a ui-ref="show.hastitle({uuid:item.uuid, title:item.title})">
Title 参数可以是波斯语单词,我期待的是如下链接:
http://domain.com/page/54c82de2978af/واژه-فارسی
但ui-sref 返回如下:
http://domain.com/page/54c82de2978af/%D9%88%D8%A7%DA%98%D9%87-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C
我使用过如下解决方案:
var noneEncodedUri = {
encode: function(str) { return str && str.replace(/ /g, "-"); },
decode: function(str) { return str && str.replace(/-/g, " "); },
is: angular.isString,
pattern: /[^/]+/
};
$urlMatcherFactoryProvider.type('noneEncodedUri', noneEncodedUri);
$stateProvider.state('mystate', {
url: "/{title:noneEncodedUri}"
})
但是渲染的链接没有改变
如何完全停止 ui-sref 编码 url 参数?
【问题讨论】:
标签: javascript angularjs angularjs-directive angular-ui-router