2013-08-19 2 views
0

컨트롤러의 항목을 반복 할 때 ArrayController가 있고 {{#each item in controller}}을 사용하고있었습니다. 이것은 같은 컨트롤러를 사용하는 동안 괜찮 았지만 다른 루트로 전환 한 후에 항목이 다시 렌더링되지 않게하는 이상한 동작을 보았습니다. {{#each item in controller.content}}으로 전환하면이 문제가 해결됩니다. 그러나 나는 어떻게 이런 일이 일어 났는지 확신하지 못한다.컨트롤러와 컨트롤러의 차이점 .content

각 표현식에서 컨트롤러와 컨트롤러의 차이점은 무엇입니까?

+0

미안하지만, '컨트롤러를 전환 한 후에 ...'라는 메시지가 표시되지 않습니다. 경로간에 전환 중입니까? –

+0

예, 실제로 다른 경로로 전환하면 바인딩이 삭제되었습니다. 나는 그것을 더 명확하게하기 위해 편집 할 것이다. – cedrics

답변

0

각 표현식에서 컨트롤러와 컨트롤러의 차이점은 무엇입니까? this.get('content').pushObject(obj) 하 것과 동일하게 동작한다 제어기 this.pushObject(obj) 내부이어서, ArrayProxy로부터 연장되는 ArrayController 사용시

은 기본적으로, 예를 들면, 차이가 없다. 참고로 here을 참조하십시오.

하지만 IMO는 어디서나 model을 사용하는 것이 좋습니다. {{#each item in model}}. 유용 할 것 같은이 대답을 확인하십시오. Ember iterations: when to use #each User, #each user in controller, #each user in model, etc

희망이 있습니다.

+0

답변 해 주셔서 감사합니다. '{{모델에있는 각 항목}} '을 사용하면 실제로 문제가 해결되고'컨트롤러'보다 훨씬 더 읽기 쉽습니다. – cedrics

+0

@cedric, 질문에 답변하는 경우 답변을 수락하는 것을 잊지 마십시오 :) 감사합니다. – intuitivepixel

관련 문제