0

我想创建一个视图,如果满足条件,则应呈现文本字段,否则仅呈现文本。

有没有关于编写可重用视图的好文档?

编辑 23.04.2013 - 我的就地编辑解决方案

我最终得到了以下就地编辑(感谢 Myslik)。我将添加更多功能,例如“空”占位符。

咖啡脚本:

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

1 回答 1

0

你真的需要为它写一个视图吗?您可以在模板中执行此操作:

{{#if condition}}
    {{input value=name}}
{{else}}
    {{name}}
{{/if}}

编辑:

所以你可以Ember.TextField像这样自定义:

Ember.TextField.reopen({
    attributeBindings: ['disabled']
});

然后你可以做这样的事情:

{{view Ember.TextField valueBinding="value" disabledBinding="condition"}}
于 2013-04-22T11:31:21.987 回答