Javascript 转换json&;amp;至&;在AngularJS
我有一个具有value属性的HTML元素。值应该是Comfort&Protection,但是来自JSON get结果的名称是ComfortJavascript 转换json&;amp;至&;在AngularJS,javascript,json,angularjs,Javascript,Json,Angularjs,我有一个具有value属性的HTML元素。值应该是Comfort&Protection,但是来自JSON get结果的名称是Comfort&保护,AngularJS正在我的视图中这样打印它 我尝试将此名称放入html元素值属性中 <div ng-app="app"> <div ng-controller="ExampleCtrl"> <input type="text" ng-repeat="type in types" value="
&代码>保护,AngularJS正在我的视图中这样打印它
我尝试将此名称放入html元素值属性中
<div ng-app="app">
<div ng-controller="ExampleCtrl">
<input type="text" ng-repeat="type in types" value="{{type.name}}" />
</div>
</div>
一种选择是替换&代码>带有和的字符串,如下所示:
var text = name.replace(/&/g, '&')
根据Max Zoom答案解决了问题
我创建了一个过滤器来过滤符号,就像这样
app.filter('ampersand', function(){
return function(input){
return input ? input.replace(/&/, '&') : '';
}
});
在我看来,我从{{term.name}
改为{{term.name | ampersand}
根据经验,您通常应该尝试让JSON返回速率数据,而不是HTML格式的数据。当你需要HTML时,转换成HTML就不那么麻烦了。我无法控制api返回的内容。我从wp apiCode获取的示例不起作用,您能检查一下吗?您的意思是什么?无法使用&;查看输入名称;在这个例子中?这个链接对我来说很好。我很感激,我根据你的回答解决了这个问题。您的答案是正确的,但它只是javascript。我必须把它应用到有棱角的物体上。这就是为什么我创建了一个过滤器。在我的例子中,使用了name.replace(“\u0026amp;”,“&”)
app.filter('ampersand', function(){
return function(input){
return input ? input.replace(/&/, '&') : '';
}
});