Binding Ember.text通过Handlebar辅助对象设置区域输入
我得到了一个Ember.Handlerbars.JSON助手,它将给定的值格式化为缩进的JSON字符串。 我想这样设置textarea的内容(值):Binding Ember.text通过Handlebar辅助对象设置区域输入,binding,textarea,ember.js,helper,Binding,Textarea,Ember.js,Helper,我得到了一个Ember.Handlerbars.JSON助手,它将给定的值格式化为缩进的JSON字符串。 我想这样设置textarea的内容(值): {{#view Ember.TextArea}} {{JSON someValue}} {{/view}} 这不起作用,因为我应该改为设置textareas的“value”属性 然而,这也不起作用 {{view Ember.TextArea valueBinding="JSON someValue"}} 您
{{#view Ember.TextArea}}
{{JSON someValue}}
{{/view}}
这不起作用,因为我应该改为设置textareas的“value”属性
然而,这也不起作用
{{view Ember.TextArea valueBinding="JSON someValue"}}
您可以通过使用计算属性来解决此问题,请参见: 把手:
{{#使用App.jsonController}
{{view Ember.TextArea valueBinding=“formatted”rows=“10”}
{{/与}}
JavaScript:
App=Ember.Application.create({
formatJSON:函数(obj){
返回JSON.stringify(obj,null,'\t');
}
});
App.jsonController=Ember.Object.create({
内容:{
abc:123,
福:“你好”
},
格式化:函数(){
var obj=this.get('content');
返回App.formatJSON(obj);
}.property(“内容”)
});
更新您的评论: 在注释()中的小提琴中,您正在声明
{{view Ember.TextArea valueBinding=“JSON-App.someComplexValue”}
:这不起作用,因为valueBinding
将路径作为参数,而不是表达式,如JSON-App.someComplexValue
。如果要绑定到转换后的值,只需创建一个计算属性并绑定到它。这就是余烬做这些事情的方式
在原始问题中,您有以下代码:
{{#查看Ember.TextArea}
{{JSON someValue}}
{{/view}
在这种情况下,这不起作用,因为余烬文本区域的值
只能分别通过值
设置值绑定
:
{{view Ember.TextArea valueBinding=“App.controller.transformedComplexValue”}
您的JSON助手是什么样子的?你能提供一个JSFIDLE吗?您可以将此作为起点:这里是您的JSON助手的位置?示例中没有包含它…是否有方法在Handlebar模板中以编程方式创建App.JSONController的实例?比如:{{{#with App.JSONController someValue}}…啊,小提琴:。。。我不太习惯JSFIDLE yetYou不想在把手模板中创建控制器。计算属性是一种方法……我想你是对的。我只是懒得为这个任务实现一个合适的控制器。