Поддерживать новые и уже существующие данные между представлениями
По сути, мне нужно знать, как создать другое поле textInput при передаче данных из одного представления в другое, сохраняя при этом данные, которые были переданы для начала. Взглянуть:
<?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" title="HomeView">
<fx:Script>
<![CDATA[
protected function btn_addTask_clickHandler(event:MouseEvent):void
{
var tmpObj:Object = new Object();
tmpObj.firstTask = ti_input.text;
navigator.pushView(taskListView, ti_input.text);
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place nonvisual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:VGroup height="100%" width="100%" >
<s:TextInput id="ti_input" prompt="Enter Text Here" />
<s:Button label="Add Task" id="btn_addTask" click="btn_addTask_clickHandler(event)"/>
</s:VGroup>
</s:View>
Это мой первый взгляд. Я хочу, чтобы пользователь мог вводить текст в поле textInput и видеть его в следующем представлении, но я хочу, чтобы в следующем представлении сохранялись введенные пользователем данные, возвращался к первому представлению, затем принимал другую запись от пользователя и создайте другое поле textInput во втором представлении. Это как приложение блокнота. Пользователь вводит задачу в первом представлении, затем он или она может видеть ее во втором представлении. Затем пользователь должен иметь возможность вернуться к первому виду и создать другую задачу, которая также переходит ко второму виду, но не заменяет первую задачу, которая была введена. Моя проблема заключается в создании новых полей textInput, когда новые данные поступают во второе представление. Есть идеи? Возможно, поля textInput не являются визуальными компонентами, которые я должен использовать...
1 ответ
Я не уверен, что пойму, ищете ли вы двустороннюю синхронизацию или только в одном представлении должны отображаться изменения, внесенные в другом представлении.
Но в любом случае, поскольку вы не будете отправлять обратно данные при переносе действительного представления (обратно со второго представления на первое), вы можете реализовать другой подход: каждый раз, когда одно из представлений будет добавлять / удалять / редактировать значение, само представление будет хранить значение в другом классе, доступном для обоих представлений (может быть одноэлементным, если хотите). И каждый раз, когда будет загружено одно из представлений (обработчик view_activation), просто загружайте это значение из этого третьего класса.
Чтобы сохранить это значение в этом отдельном классе, вы должны записать его непосредственно в него, если оно доступно из обоих представлений. Или вы можете отправить пользовательское событие, содержащее данные, которые будут прослушиваться вашим отдельным классом для его хранения.