我想创建一个视图,如果条件满足则应该呈现文本字段,否则只创建文本。
是否有关于编写可重用视图的良好文档?
编辑23.04.2013 - 我的原地编辑解决方案
我最终得到了以下内容进行编辑(感谢Myslik)。我将添加一些更多的功能,如“空”占位符。
CoffeeScript的:
App.InplaceTextField = Ember.View.extend
tagName: 'div'
isEditing: false
template: Ember.computed( ->
return Ember.Handlebars.compile([
'{{#if view.isEditing}}',
'{{view Ember.TextField valueBinding="view.content"}}',
'{{else}}',
'{{view.content}}',
'{{/if}}'
].join('\n'))
)
focusOut: ->
@get('controller').get('store').commit()
@set('isEditing', false)
click: ->
@set('isEditing', true)
车把:
title
是我模型的一个属性,传递给我的观点
{{view App.InplaceTextField contentBinding="title"}}
答案 0 :(得分:0)
你真的需要为它写一个视图吗?您可以在模板中执行此操作:
{{#if condition}}
{{input value=name}}
{{else}}
{{name}}
{{/if}}
修改强>
因此您可以像这样自定义Ember.TextField
:
Ember.TextField.reopen({
attributeBindings: ['disabled']
});
然后你可以这样做:
{{view Ember.TextField valueBinding="value" disabledBinding="condition"}}