我正在尝试通过helper
重新添加空格来重新调整值。但我没有得到结果。
这是我的代码:
import Ember from 'ember';
export function cardNoDisplay(params/*, hash*/) {
var paramStr = params.toString();
var updatedParams = paramStr.substring(paramStr.length-4);
var reformat = paramStr.replace(/(\d{4})/g, function(match){
return match + Ember.String.htmlSafe("<span>++</span>");
});
return reformat;
}
export default Ember.Helper.helper(cardNoDisplay);
但结果如下:
<span>3230<span>++</span>4211<span>++</span>5712<span>++</span>8203<span>++</span></span>
我的代码在这里出了什么问题?
提前感谢。
这是HBS文件:
<span class="cs2i-purchase-card-font">
{{card.cardName}}
<span>{{card-no-display card.cardNo}}</span>
</span>
答案 0 :(得分:1)
您的代码段的问题是htmlSafe()
仅适用于整个字符串,而不仅适用于字符串的某些部分。而不是在正则表达式替换函数中应用htmlSafe()
,您可以return Ember.String.htmlSafe(reformat)
,然后它应该按预期工作。
答案 1 :(得分:1)
我更新了我的过滤器:
import Ember from 'ember';
export function cardNoDisplay(params/*, hash*/) {
var paramStr = params.toString();
var updatedParams = paramStr.substring(paramStr.length-4);
var reformat = paramStr.replace(/(\d{4})/g, function(match){
return match + "<span> </span>";
});
return Ember.String.htmlSafe(reformat);
}
export default Ember.Helper.helper(cardNoDisplay);
工作正常。感谢TBieniek