我需要在我的角应用中替换所有_
字符串。在我的控制器中,以下代码给出了正确的结果:
alert("this_is_string_".replace(/_/g, " "));
但是当我在我的html文件中放入相同的代码时,这样:
<th class="text-center" ng-repeat="(key, value) in filteredEL[0] ">
{{ key.replace(/_/g, ' ') }}
</th>
它出现以下错误:
Error: [$parse:syntax] Syntax Error: Token '/' not a primary expression at column 13 of the expression [key.replace(/_/g, ' ')] starting at [/_/g, ' ')]
那么,我如何使用替换html中所有必需实例的替换函数?
答案 0 :(得分:4)
只需创建专用过滤器:
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>
答案 1 :(得分:4)
使用角度过滤器是从html过滤的最佳做法。
在这里查看 angular-filter
.filter('customFilter', ['$filter', function ($filter) {
return function (input) {
if (input) {
return input.replace(/_/g, '');
}
}
}])
&#13;
<th class="text-center" ng-repeat="(key, value) in filteredEL[0] ">
{{ key | customFilter}}
</th>
&#13;