2013-04-22 2 views
0

조건이 충족 될 경우 텍스트 필드를 렌더링하고 그렇지 않은 경우 텍스트를 렌더링해야하는보기를 만들고 싶습니다.TextField 또는 텍스트 만보기

재사용 가능한 뷰를 작성하는 데 유용한 문서가 있습니까?

편집 2013년 4월 23일 - 나는 인플레 이스 편집에 대해 다음 (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"}} 

답변

0

에 전달되는 내 모델의 하나 개의 속성 당신이 정말로 그것을위한보기를 작성해야합니까? 당신은 당신의 템플릿에서이 작업을 수행 할 수 있습니다 :

{{view Ember.TextField valueBinding="value" disabledBinding="condition"}} 
:

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

다음이 같은 작업을 수행 할 수 있습니다

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

편집 :

그래서이 같은 Ember.TextField을 사용자 정의 할 수 있습니다

+0

내가 가장 쉽고 (가장 지저분한) 방법은 알고있다. 편집 할 필드의 목록. – Mike