Ember.js 转义余烬JS不工作的CSS字符串

Ember.js 转义余烬JS不工作的CSS字符串,ember.js,Ember.js,和许多人一样(我想),当将样式属性绑定到模板中的元素时,我会在控制台中收到警告 例如,我得到了一个包含div的余烬视图,该div具有以下样式属性: style="{{view.isClosing}};" 现在,我得到一个警告,该字符串未正确转义,可能会使其容易受到XSS攻击 我转到了这个链接: 然后试着在我看来: isClosing: Ember.computed('display', function () { if (this.get('conv.isClosing')) {

和许多人一样(我想),当将样式属性绑定到模板中的元素时,我会在控制台中收到警告

例如,我得到了一个包含div的余烬视图,该div具有以下样式属性:

style="{{view.isClosing}};"
现在,我得到一个警告,该字符串未正确转义,可能会使其容易受到XSS攻击

我转到了这个链接:

然后试着在我看来:

isClosing: Ember.computed('display', function () {
    if (this.get('conv.isClosing')) {
        return new Ember.Handlebars.SafeString("display:");
    } else {
        return new Ember.Handlebars.SafeString("display: " + this.get('display'));
    };
}),
警告并没有消失,当我尝试使用文件中所说的函数escapeCSS执行时,它告诉我escapeCSS没有定义。这个函数是什么,我应该怎么做

谢谢

如中所述,您希望使用
Ember.String.htmlSafe
而不是
Ember.handlebar.SafeString

isClosing: Ember.computed('display', function () {
    if (this.get('conv.isClosing')) {
        return new Ember.String.htmlSafe("display:");
    } else {
        return new Ember.String.htmlSafe("display: " + this.get('display'));
    };
}),
所以我做了

我没有使用Ember.String.htmlSafe()方法,而是返回了一个等于“display:;”或“display:none;”的变量,并在末尾调用了htmlSafe()。仍然不知道为什么余烬方法不起作用


谢谢你的回答。

我相信GJK是正确的。你的问题是你包括了报价

<div style="{{view.isClosing}};">

应该是

<div style={{isClosing}}>


这仍然给了我一个警告,这里面一定有我不明白的地方。你的把手表达式外面有一个分号。如果你删除它会发生什么?我相信他们希望你实现escapeCSSyourself@nruth-这是有道理的。我找不到这方面的任何信息。但现在我想知道为什么他们说。。。保险箱的绳子不管用吗?