플렉스에서 페이징을 구현하다가 로그에 저런 에러가 무수히 찍히는 걸 보고 기겁했다.

로그가 찍히다보니 웹에서 딜레이도 살짝 있기에 해결하고싶었고, 로그창이 더러워져서...-_-;;


var objPage:Object = new Object(); objPage.pageNo = 1;

위의 부분에서 문제가 있었으며,


warning: unable to bind to property 'pageNo' on class 'Object' (class is not an IEventDispatcher)


라는 로그가 계속 출력되는 상황. 구글링을 해보니, 

리스트 기반의 컨트롤러의 dataProvider로 Object/ArrayCollection을 지정하면 플래시 플레이어가 타입 형변환을 제대로 인지하지 못하고, 그래서 해당 로그가 출력되었다는 점.

이걸 해결하기 위한 방법은 다음과 같다.


var objPage:ObjectProxy = new ObjectProxy();
objPage.pageNo = 1;

라고, Object 타입을 ObjectProxy로 변경해주면 끝 -_-;;


ObjectProxy 클래스는 등록되어있는 데이터의 변경을 추적하는 용도로 사용한다고...

블로그 이미지

김생선

세상의 모든것을 어장관리

티스토리 툴바