【发布时间】:2015-06-13 16:01:45
【问题描述】:
我对 Ember 还很陌生,但我使用的是 v1.12 并且正在努力解决以下问题。
- 我正在制作模板助手
- 帮助程序获取围绕主题标签和用户名的推文和 HTML 锚点的正文。
我遵循的范例是:
- 使用
Ember.Handlebars.Utils.escapeExpression(value);转义输入文本 - 做逻辑
- 使用
Ember.Handlebars.SafeString(value);
但是,1. 似乎避开了撇号。这意味着我传递给它的任何句子都会得到转义字符。如何在确保没有引入潜在漏洞的同时避免这种情况?
编辑:示例代码
export default Ember.Handlebars.makeBoundHelper(function(value){
// Make sure we're safe kids.
value = Ember.Handlebars.Utils.escapeExpression(value);
value = addUrls(value);
return new Ember.Handlebars.SafeString(value);
});
addUrls 是一个函数,它使用正则表达式来查找和替换主题标签或用户名。例如,如果给它#emberjs foo,它将返回<a href="blah">#emberjs</a> foo。
上述辅助函数的结果将显示在 Ember (HTMLBars) 模板中。
【问题讨论】:
标签: ember.js