Javascript str.replace不在html中工作
我需要替换angular应用程序中字符串中的所有Javascript str.replace不在html中工作,javascript,angularjs,string,replace,Javascript,Angularjs,String,Replace,我需要替换angular应用程序中字符串中的所有。。在我的控制器中,以下代码给出了正确的结果: 警报(“此字符串”。替换(/\ug/g,”) 但当我将相同的代码放入html文件时,如下所示: <th class="text-center" ng-repeat="(key, value) in filteredEL[0] "> {{ key.replace(/_/g, ' ') }} </th> 那么,如何使用替换函数替换html中所有必需的实例呢?只需创建一
。
。在我的控制器中,以下代码给出了正确的结果:
警报(“此字符串”。替换(/\ug/g,”)代码>
但当我将相同的代码放入html文件时,如下所示:
<th class="text-center" ng-repeat="(key, value) in filteredEL[0] ">
{{ key.replace(/_/g, ' ') }}
</th>
那么,如何使用替换函数替换html中所有必需的实例呢?只需创建一个专用过滤器:
angular.module('filters.stringUtils', [])
.filter('removeUnderscores', [function() {
return function(string) {
if (!angular.isString(string)) {
return string;
}
return string.replace(/_/g, '');
};
}])
把它叫做:
<div id="{{'hi_there'| removeUnderscores}}"></div>
使用角度过滤器是从html进行过滤的最佳实践
请看这里的
.filter('customFilter',['$filter',函数($filter){
返回函数(输入){
如果(输入){
返回输入。替换(/u/g',);
}
}
}])
{{key | customFilter}}
{{key.replace(/\ug,,)}}
被认为是角度表达式。我知道。有趣的是,{key.replace(''',''')}
工作正常,但它只删除第一个实例。我需要把它们全部替换掉。只是为了提供更多关于为什么这不起作用的见解。键.replace(/\ug,”)
尝试使用正则表达式来删除该模式的所有出现。这里是Angular文档的摘录,您不能在AngularJS表达式中声明函数或创建正则表达式。这是为了避免模板内复杂的模型转换逻辑。这样的逻辑最好放在控制器或专用过滤器中,以便正确测试。
。参考:非常感谢你,佩尔玛塔和西亚姆Pillai@TahreemIqbal:很高兴帮助您:)
<div id="{{'hi_there'| removeUnderscores}}"></div>