我想将输入的value属性设置为一些JSON:
Ember.TextField.extend({
valueBinding: Ember.Binding.transform(function(val){
return JSON.stringify(val);
})
});
如果val =“test”(字符串)DOM中的元素呈现如下:
<input id="ember881" class="ember-view ember-text-field" type="text" value="" test""="">
有没有办法返回一些“SafeEscaped”版本? 此致
答案 0 :(得分:0)
回答你的问题,是的。以下代码应该可以解决问题,但我确信某处有更漂亮的解决方案:
return new Handlebars.SafeString(Handlebars.Utils.escapeExpression(JSON.stringify(val)).toString()).toString();
但是(虽然我不确定你要用该代码实现什么),但我会将视图重写为:
App.test = Ember.TextField.extend({
valueBinding: 'test',
val: {"cat":"meow"},
test: function(){
return new Handlebars.SafeString(Handlebars.Utils.escapeExpression(JSON.stringify(this.val)).toString()).toString();
}.property('val')
});
这应输出:
<input type="text" value="{"test":"meow"}" class="ember-view ember-text-field" id="ember239">
请注意,我假设您正在使用Handlebars。