ItemRenderers에 대한 질문 : 전역 객체 내에있는 응용 프로그램 데이터 인 ArrayCollection이 있다고 가정 해 봅시다. 나는이 데이터로 스파크리스트를 채우고 ArrayCollection을 dataProvider로 설정한다.Flex 4.6 Mobile - ItemRenderers 및 응용 프로그램 데이터
따라서 각 ItemRenderer는 배열에있는 항목의 복사본을 가져옵니다. "데이터 설정"방법을 재정 의하여 데이터를보다 도메인 특정적인 것으로 설정할 수 있습니다. 문제는 데이터가 원래 항목의 사본이라는 것입니다.
이제 ItemRender 내부에서 항목에 데이터를 추가하려고합니다. 예를 들어 항목에 대한 메소드를 호출하여 항목 자체에 대한 세부 정보를로드하도록 지시하거나 사용자가 항목의 내용을 수정할 수 있도록 허용 할 수 있습니다.
분명히 ItemRenderer가 파괴되고 원래 개체가 어떤 일이 발생했는지 알 수 없으므로 복사 작업을 수행하는 동안에는이 작업을 수행 할 수 없습니다.
그래서 가장 좋은 방법은 무엇입니까?
을
{globalArrayCollection} .getItemAt (this.itemIndex를) 그러나 그것은 나에게 일종의 투박한 것 : 난 그냥 이런 식으로 내 전역 배열에서 원본 항목을 끌어 렌더러의 itemIndex라는를 사용해야합니다. 이 문제를 해결하는 가장 좋은 방법이 있습니까?
네, 그 질문을 완벽하게 이해하고 있습니다. 예, 제가 생각해 낸 해결책과 같습니다. 하지만 항상 두 위치에서 코드를 수정해야합니다. 이상적인 솔루션은 아니지만 가능한 유일한 솔루션 일 것입니다. 누군가가 더 나은 해결책을 제공 할 수 있는지 알아보기 위해 며칠을 기다릴 것입니다. 그렇지 않으면 답장으로 표시 할 것입니다. Thanks – Andy
ArrayCollection의 인스턴스를 setSomeValue 메소드에 전달하고 해당 함수 하나를 모두 업데이트 할 수 있습니다. – francis
여전히 인스턴스는 원본 데이터의 사본입니다. 같은 문제. 하나의 글로벌 장소에 단 하나의 데이터 사본을 갖고 싶습니다. 너무 많이 물어보아야합니까? :-) – Andy