2013-10-09 2 views
2

Ember Select를 사용하려고하는데, 선택한 항목에 따라 ID의 옵션이 변경되는 것 같습니다.Ember 내용의 ID 변경 중 선택하십시오.

나는 책과 저자와 단순화 된 시나리오를 조롱하고 Ember.Select

아래
{{ view Ember.Select 
      contentBinding="controller.authors" 
      optionValuePath="content.id" 
      optionLabelPath="content.name" 
      valueBinding="book.author.id" 
}} 

셀렉트 작품을 가지고 있지만 그것은 단지가 결합되어 기본 목록 (contentBinding를) 변경했습니다 valueBinding.

나는 기괴한 행동을 바탕으로 Ember에 파라 메이 터를 잘못 연결한다고 가정 할 수 있습니다. 전화를 걸지 만 올바른 조합을 찾을 수 없습니다.

단계 재현 : 1) 바이올린에서 실행을 클릭

아래의 바이올린은 내가 무슨 뜻인지 보여줍니다. 때로는 선택 항목을 채우기 위해 두 번 이상 클릭해야합니다 (이유와 관련이 있거나 문제가 될 수 있음) 2) 드롭 다운을 통해 '작성자'를 변경하십시오. 3) 책 저자와 관련된 ID가 변경 될뿐만 아니라 작성자 목록의 ID도 변경됩니다. 4) 이유를 말해주십시오. 아마 당신은 말할 수

http://jsfiddle.net/davepreston/h9dJt/

, 나는, 엠버 꽤 새로운 해요 어떤 도움을 주셔서 감사 때문에.

--Dave

답변

1

당신의 결합을 수정,

view Ember.Select 
      contentBinding="controller.authors" 
      optionValuePath="content" 
      optionLabelPath="content.name" 
      valueBinding="book.author" 

http://jsfiddle.net/h9dJt/4/

+0

그 말이 맞습니다.하지만 valueBinding을 "book.author"로 설정하면 select가 더 이상 올바른 값을 기본값으로 사용하지 않습니다. 책 2는 "Sue"여야하지만 모든 드롭 다운은 "Bob"으로 시작합니다. – davepreston

+0

사실, 이는 목록의 작성자 인스턴스가 책 인스턴스에 포함 된 작성기 인스턴스와 공통적이지 않기 때문에 발생합니다. Ember.Select는 목록의 값이 같고 관계가 렌더링되지 않으므로 아무 것도 없는지 확인합니다. 다음 피들을 살펴보십시오 http://jsfiddle.net/h9dJt/6/ Ember.Select가 생략되었으며 ember의 크롬 콘솔 디버깅 도구를 사용하는 경우 theBooks와 theAuthors 사이의 참조를 확인하십시오. 해결 방법은 ember.select를 사용하지 않고 자신 만의 impl을 만들거나 em 데이터를 사용하지 않고 공통적 인 참조를 처리하는 것입니다. – melc

+0

주목할 사실 하나. 마침내 비동기 속성을 사용하지 않으면 Ember.Select가 제대로 작동합니다.속성이 비동기 인 경우 : 'true'이면 기본값이 올바르게 설정되지 않았습니다. 인라인 속성으로 변경하고 위의 코드를 사용하면 효과가있었습니다. 다시 한번 감사드립니다! – davepreston

1

4)에 대한 대답은?
선택 값이 book.author.id와 바인딩되어 있기 때문에 선택 값이 변경되면 해당 작성자의 id도 변경됩니다. 이것은 에버의 기본 2 웨이 바인딩의 일반적인 동작입니다. 우리가 2 개의 속성을 묶는다면, 하나의 속성을 변경하면 다른 속성도 변경됩니다.
스토어에서 레코드의 인스턴스가 하나뿐이기 때문에 id 변경은 book.author이 동일한 레코드 개체를 참조하기 때문에 (복사본을 만들지 않음) 작성자 목록에 반영됩니다.

+0

좋아 내가 변경할 수 있도록, 그래서 내가 무엇을 시도하고있어 문제의 책 저자의 현재 값에 바인딩되는 저자는 책과 관련되어 있습니다. 저자의 이드에 대한 바인딩이 작동하지 않을 것입니다 (언급 한 이유 때문에). 이제는 누군가가 저에게 협회 자체에 바인딩되어 저자를 변경하지 않고 책의 저자를 변경할 수 있기를 바랍니다. – davepreston

관련 문제