0

入力の値属性をいくつかの 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」バージョンを返す方法はありますか? よろしく

4

1 に答える 1

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">

ハンドルバーを使用していると仮定していることに注意してください。

于 2012-04-28T15:57:28.770 に答える