Helper 无法识别 `htmlSafe` 的东西
Helper not recognizing the `htmlSafe` stuff
我正在尝试重新调整通过 helper
添加的 space 的值。但我没有得到结果。
这是我的代码:
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>
您的代码段的问题是 htmlSafe()
仅适用于整个字符串,而不是仅适用于字符串的一部分。您可以 return Ember.String.htmlSafe(reformat)
而不是在正则表达式替换函数中应用 htmlSafe()
然后它应该按预期工作。
我已经更新了我的过滤器:
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
我正在尝试重新调整通过 helper
添加的 space 的值。但我没有得到结果。
这是我的代码:
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>
您的代码段的问题是 htmlSafe()
仅适用于整个字符串,而不是仅适用于字符串的一部分。您可以 return Ember.String.htmlSafe(reformat)
而不是在正则表达式替换函数中应用 htmlSafe()
然后它应该按预期工作。
我已经更新了我的过滤器:
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