2013-07-17 3 views
1

내가 가지고있는 모델 속성과 텍스트 필드로 다시 연결하는 방법 모델 :Ember.Js :

App.Wizard = Em.Object.extend({ 
    title:'example', 
}); 

내가보기 있습니다

<script type="text/x-handlebars" data-template-name="wizard"> 
    <label> 
     <span>Title</span> 
      {{view Ember.TextField valueBinding="App.Wizard.title" }} 
    </label> 
</script> 
:

var wizardView = Ember.View.create({ 
    templateName: 'wizard' 

}); 

템플릿은 다음과 같습니다

페이지에서 내 모델의 텍스트가있는 입력을 볼 수 있지만 입력시 텍스트를 변경하면 App.Wizard.title의 음란물이 변경되지 않았습니다.

모델 필드에 입력을 연결하는 방법은 무엇입니까?

+0

내 답변이 도움이 되었습니까? 그렇지 않으면 내가 더 향상시킬 수 있도록 알려주십시오 ... – intuitivepixel

답변

1

작동 예제 : http://jsbin.com/aqetef/3/edit 입력란의 텍스트를 변경하고 아래 라벨에서 업데이트를 확인하십시오.

기본적으로이 코드 :

App.Wizard = Em.Object.extend({ 
    title:'example' 
}); 

App.Router.map(function() { 
    this.resource('wizard', {path: '/'}); 
}); 

App.WizardRoute = Ember.Route.extend({ 
    model: function() { 
    return App.Wizard.create({title: 'Foo'}); 
    } 
}); 

그리고 우리가 지금 렌더링 뷰/템플릿의 모델 객체를 제공하고 있기 때문에 당신이 만든 새 모델 객체 인 실제 컨텍스트를 사용하여 바인딩을 정의 할 수 있습니다.

<script type="text/x-handlebars" data-template-name="wizard"> 
    <label> 
    <span>Title</span> 
     {{view Ember.TextField valueBinding="title"}} 
    </label> 
    <hr/> 
    {{title}} 
</script> 

또한 언급 할 가치가있는 점은보기에 관련된 렌더링이 없다면 정의 할 필요가 없다는 것입니다.

희망이 있습니다.

+0

감사합니다, 그 근무 방식. 그것은 나를 돕는다. –