#apache-flex #flex3 #flex4 #flexbuilder
#apache-flex #flex3 #flex4 #flexbuilder
Вопрос:
как использовать компонент mxml в другом коде actionscript компонента mxml
например, в моем основном файле mxml
private var warningMessage:Warning;//this is variable
if (!_controller.flashVars.chatSession || _controller.flashVars.chatSession == "")
{
warningMessage.includeInLayout = true;
warningMessage.visible = true;
}
else
{
_controller.flashVars.showWarningMessage = "2";
}
private var warningMessage:Warning;
(предупреждение относится к внешнему пользовательскому компоненту)
warningMessage.visible=true
(и я хочу использовать его таким образом в моем коде actionscript
но я получаю сообщение об ошибке « Type was not found or was not compile time constant:warning
«)
Ответ №1:
Есть три вещи, которые сразу бросаются в глаза.
- Если этот компонент находится в другом SWC-файле, обязательно укажите ссылку на него в настройках проекта
- Импортируйте пространство имен или вызовите его напрямую (com.whatever.namespace.Предупреждение)
- Обязательно вызовите
new
для создания нового объекта. В приведенном выше кодеwarningMessage
равно null.
private var warningMessage:Warning = new Warning();
Комментарии:
1. 1. Кроме того, «4. Не пишите код в разделе MXML Script без функции — он выполняется так, как если бы он был в конструкторе класса, что слишком рано для манипулирования элементами управления — они еще не созданы».
Ответ №2:
Убедитесь, что вы импортировали свой пользовательский компонент в файл, в котором вы его используете.
Ответ №3:
Вам нужно будет ссылаться на другой пользовательский компонент как на пространство имен mxml.
Ознакомьтесь со следующей статьей, чтобы получить точную иллюстрацию:http://www.roseindia.net/flex/custom-mxml-tags.shtml