<a href="#/search?query={{address}}" ng-repeat="address in addresses">
{{address}}
</a>
如果我理解正确的话,生成不是url编码的链接。对#/search?query={{address}}
进行编码的正确方法是什么
示例地址为1260 6th Ave, New York, NY
。
发布于 2013-01-25 07:49:55
你可以在javascript中使用原生encodeURIComponent
。此外,您还可以将其转换为字符串过滤器以利用它。
下面是制作escape
过滤器的示例。
js:
var app = angular.module('app', []);
app.filter('escape', function() {
return window.encodeURIComponent;
});
html:
<a ng-href="#/search?query={{address | escape}}">
(更新:适应卡利斯的答案,使用ng-href
而不是普通的href
)
发布于 2015-07-22 17:49:07
@Tosh的解决方案将返回#/search?query=undefined
,如果在
<a ng-href="#/search?query={{address | escape}}">
如果您更喜欢为查询获取空字符串,则必须将解决方案扩展到
var app = angular.module('app', []);
app.filter('escape', function() {
return function(input) {
if(input) {
return window.encodeURIComponent(input);
}
return "";
}
});
如果address
未定义,则返回#/search?query=
。
发布于 2015-06-26 21:28:15
这是一个有效的代码示例:
app.filter('urlencode', function() {
return function(input) {
return window.encodeURIComponent(input);
}
});
在模板中:
<img ng-src="/image.php?url={{item.img_url|urlencode}}"
https://stackoverflow.com/questions/14512583
复制相似问题