Flex: как я могу использовать @contextroot в кнопке или linkbutton
-
26-09-2019 - |
Вопрос
Я пытаюсь создать кнопку, которая просто свяжет обратно к контекстному корню. Я заметил Flex, имеет атрибут @Contextroot, который, кажется, работает только в определенных случаях. Например, если я стараюсь использовать его в следующем MXML:
<mx:Button label="Back to Root" click="navigateToURL(new URLRequest(@ContextRoot()), '_parent')"/>
Я получаю следующую ошибку: ошибка: атрибуты не требуются.
Я не могу найти эту технику, объясненную где угодно, есть ли другой способ?
Спасибо за помощь! Дейв
Решение 2
Благодаря http://devgirl.wordpress.com/ Для этого решения! Я думаю, что это лучше, чем приложение. Применение. Решение .URL:
Используйте управление HTTPSERVICE:
<mx:HTTPService id="home" url="@ContextRoot()"/>
А затем в скрипте действий:
navigateToURL(new URLRequest(home.url),"_parent");
Работает как шарм!
Другие советы
Ну, самый чистый способ, которым я обнаружил, было использование функции в блоке скрипта, а не использовать @contextroot, как:
private function goBacktoHompage():void
{
baseURL = Application.application.url;
var tempUrl:String = baseURL.substr(7,baseURL.length);
var tempUrlArr:Array = tempUrl.split("/");
var contextRoot:String = tempUrlArr[1];
var u:URLRequest = new URLRequest("/" + contextRoot);
navigateToURL(u,"_parent");
}
Я бы предположил, что есть более простой способ использовать @ContExtroot, поэтому любые другие ответы, которые не используют относительные пути, будут приветствовать!
Благодаря этим сайтам для справки:
http://blog.devsandbox.co.uk/?p=174.
Adobe Help Docs по прохождению аргументов
-Дом