2015-01-11 3 views
0

일종의 이벤트에서 어떻게 구성 요소를 구성 요소로 가져올 수 있는지 궁금합니다. 즉, 전자 메일과 암호가있는 양식과 양식 유효성 검사가있는 경우 전자 메일 div에 어떻게 "유효한 전자 메일이 아님"메시지가 들어있는 {{error-component message = message}}를 입력 할 수 있습니까? 비밀 번호 div (또는 td)에 다른 메시지와 함께 동일한 구성 요소를 입력하십시오. 설명은이벤트에 따라 div에 엠버 구성 요소를 추가하십시오.

알고리즘 :

onSubmit() { validateForm : } ('# emailDiv', '이메일 유효하지 않습니다 ") 이메일 유효하지 않은 {importComponent 경우 경우 유효하지 않은 암호 {importComponent ('# passDiv ', "암호에 문자가 충분하지 않습니다.")}

답변

1

오류를 렌더링할지 여부를 템플릿에 알려주는 속성을 설정하지 않는 이유는 무엇입니까? 컨트롤러 또는 구성 요소에서

:

emailErrors: [], 

actions: { 
    onSubmit: function() { 
    if (/* email not valid */) { 
     this.get('emailErrors').addObject('Email not valid'); 
    } 
    } 
} 

템플릿에서 :

{{input value=email}} 
{{#each error in emailErrors}} 
    {{error}} 
{{/each}} 

이 정말 더 나은 캡슐화 적은 반복을위한 구성 요소로 만들어진, 그러나 당신은 생각을해야한다. 프로그래밍 방식으로 구성 요소를 삽입하는 것은 Ember Way가 아닙니다.

+0

오류는 단지 예일 뿐이므로 앞으로는이 오류가 필요할 것입니다. "프로그래밍 방식으로"내가 원했던 Google의 핵심 단어였습니다. http://stackoverflow.com/questions/20378889/how-to-programatically-add-component-via-controller-action –

관련 문제