2012-04-26 94 views
0

我想要設定輸入的值屬性一些JSON:灰燼輸入值設置爲JSON

Ember.TextField.extend({ 
    valueBinding: Ember.Binding.transform(function(val){ 
     return JSON.stringify(val); 
    }) 
}); 

如果VAL =「測試」(字符串)在DOM元素被呈現像這個:

<input id="ember881" class="ember-view ember-text-field" type="text" value="" test""=""> 

有沒有辦法返回一些「SafeEscaped」版本? Regards

回答

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="{&quot;test&quot;:&quot;meow&quot;}" class="ember-view ember-text-field" id="ember239"> 

請注意,我假設你使用的把手。