Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.04.2014, 15:52
PainKiller вне форума Посмотреть профиль Отправить личное сообщение для PainKiller Найти все сообщения от PainKiller
  № 1  
Ответить с цитированием
PainKiller
 
Аватар для PainKiller

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
По умолчанию Передача callBackа через MXML компоненту

Вопрос скорее теоретический, просто ничего внятного нагуглить не удалось, но интересно возможно ли так сделать или нет. В процессе кодинга на флексе попробовал реализовать эту фишку но не получилось.
Есть свой кастомный UIComponent, в котором реализовано такое свойство clearFunction:
Код AS3:
package as3comps
{	
	import mx.core.UIComponent;
 
 
 
	public class SomeComponent extends UIComponent
	{
 
		public var clearFunction:Function;
 
 
 
 
		public function SomeComponent()
		{
			super();
		}
 
		...
	}
}
Я объявляю этот компонент в MXML, и пытаюсь присвоить ему функцию, объявленную там же:
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
		xmlns:s="library://ns.adobe.com/flex/spark"
		xmlns:as3comps="as3comps.*"
		xmlns:components="components.*"
		currentState="default">
	<s:layout>
		<s:BasicLayout/>
	</s:layout>
	<s:states>
		<s:State name="default"/>
	</s:states>
 
	<fx:Script><![CDATA[
 
	private function clear():void
		{
                         //делаем что нибудь
                }
]]>
	</fx:Script>
<as3comps:SomeComponent id="myID"  clearFunction="{ clear }"/>
Это подход дает рантайм эррор типа:
Код:
TypeError: Error #1006: value is not a function.
Пробовал со скобками, без, приводил к Function, ничего не получилось. Вопрос это вообще возможно? И есть ли варианты как то это реализовать?

Добавлено через 14 минут
В общем нагуглил один вариант, но если кто то знает способы получше, буду рад их услышать

Добавлено через 29 минут
в моем случае и это метод не работает, передаваемый объект пересоздается, когда уходит с экрана, и ссылка на него оказывается нерабочей

Добавлено через 1 час 0 минут
в общем через MXML передать так и не удалось, это все работает только через as3


Последний раз редактировалось PainKiller; 02.04.2014 в 16:16.
Старый 03.04.2014, 13:46
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 2  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Код:
<as3comps:SomeComponent id="myID"  clearFunction="clear"/>
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 03.04.2014, 16:24
PainKiller вне форума Посмотреть профиль Отправить личное сообщение для PainKiller Найти все сообщения от PainKiller
  № 3  
Ответить с цитированием
PainKiller
 
Аватар для PainKiller

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
Странно так тоже пробовал, не сработало с той же ошибкой, хотя может проблема и не в этом была

Старый 04.04.2014, 13:08
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 4  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
а событием (из компонента) этот вопрос разве нельзя решить ?
Типа:
[Event(name="name", type="flash.events.Event")]

Старый 10.04.2014, 12:28
PainKiller вне форума Посмотреть профиль Отправить личное сообщение для PainKiller Найти все сообщения от PainKiller
  № 5  
Ответить с цитированием
PainKiller
 
Аватар для PainKiller

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
Конечно можно, есть много вариантов как можно это решить, я просто теоретически интересовался насчет MXML

Старый 01.06.2015, 15:04
PainKiller вне форума Посмотреть профиль Отправить личное сообщение для PainKiller Найти все сообщения от PainKiller
  № 6  
Ответить с цитированием
PainKiller
 
Аватар для PainKiller

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
Вспомнил про эту старую тему, решил отписаться. Некоторое время назад у меня сработал такой способ с замыканием:

Код AS3:
 
<as3comps:SomeComponent id="myID"  clearFunction="{ function () { clear() } }"/>

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:44.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:44.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.