Я пытаюсь послать пользовательское событие из пользовательских ItemRendererItemRenderer Отправка пользовательского события
Это мое пользовательское событие
package events
{
import customClass.Product;
import flash.events.Event;
public class CopyProductEvent extends Event
{
public static const COPY_PRODUCT:String = "COPY_PRODUCT";
public var picked:Prodotti;
public function CopyProductEvent(type:String, picked:Product)
{
super(type);
this.picked = picked;
}
}
}
В ItemRenderer У меня есть функция, которая делает это :
private function sendEvent(o:Product):void
{
dispatchEvent(new CopyProductEvent(CopyProductEvent.COPY_PRODUCT,o));
}
И в главном приложении у меня есть зр ковчега Список и я попытался добавить EventListener как к приложению и сам список, но они никогда не назвать ...
this.addEventListener(CopyProductEvent.COPY_PRODUCT,
function(e:Product):void{
...
});
list.addEventListener(CopyProductEvent.COPY_PRODUCT,
function(e:Product):void{
...
});
Почему?!? Где я поступаю неправильно?
событие из функции отправляется правильно ... Я не могу перехватить его ..
Спасибо, что работал ... тем временем я ждал вашего решения, я нашел еще один (менее утонченный), от itemrenderer, когда я отправил событие, которое я отправил от владельца, так: 'owner.dispatchEvent ...' и он тоже работал .., Кстати, ваше решение лучше ... – Marcx
Да, это решение тоже будет работать , Однако недостатком этого является то, что ваш itemRenderer затем тесно связан с его владельцем, поэтому, если вы хотите повторно использовать средство визуализации, вам придется полагаться на ту же структуру компонентов, что и на месте. Разрешение пузырькового события позволяет легко использовать его повторно. – James
да я получил это ... я не знал пузыря вещь :) – Marcx