У меня есть класс AS PresentationModel
, который содержит все значения, используемые в SomeView.mxml
. Весь класс модели является привязываемым, и свойство модели в представлении также является привязываемым. Однако я не могу внедрить модель в представление с помощью тега PropertyInjector
:
- INFO: Data binding will not be able to detect assignments to model
Кто-нибудь, знакомый с привязкой данных Flex и Mate, поможет мне? Большое спасибо!
MainEventMap.mxml
<EventHandlers type="{FlexEvent.INITIALIZE}">
<ObjectBuilder generator="{PresentationModel}" registerTarget="true">
<Properties dispatcher="{scope.dispatcher}"/>
</ObjectBuilder>
</EventHandlers>
<Injectors target="{SomeView}" debug="true">
<PropertyInjector targetKey="model" source="{PresentationModel}" />
</Injectors>
Фрагмент из PresentationModel.as
[Bindable]
public class PresentationModel extends EventDispatcher
{
public var dispatcher:IEventDispatcher;
//.....other variables and functions
}
Фрагмент из SomeView.mxml
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="518" height="562" >
<mx:Script>
<![CDATA[
//...... all the imports
[Bindable]
public var model:OSGiBrokerConsoleModel;
// ......other variables and functions
]]>
</mx:Script>
// ..... actual view components
</mx:Canvas>
2 ответа
Вы можете смело игнорировать это информационное сообщение.
Это сообщение обычно отображается, когда у вас есть PropetyInjector с источником и исходным ключом, где свойство, определенное «sourceKey», не является привязываемым, поэтому мы хотим убедиться, что вы знаете, что текущее значение этого свойства будет единственным целевым. будет когда-либо получено (когда свойство не является привязываемым, значение копируется и привязка не устанавливается). Это может быть или не быть тем, что вы хотите.
В этом случае sourceKey отсутствует, потому что вы не хотите привязываться к какому-либо конкретному свойству источника. Вместо этого вы хотите передать весь PM в представление. Из-за этого вы не хотите устанавливать привязку, просто отправьте значение в представление один раз.
В тех случаях, когда нет sourceKey или когда вы просто отправляете одноразовое значение (например, когда вы отправляете константу), сообщение можно игнорировать.
Вы не можете привязываться к классу. Создание привязываемого класса означает, что все члены этого класса будут привязываться, но не само определение.
Вы должны создать функцию-член (геттер/сеттер) для модели представления, которая возвращает данные, которые вы хотите использовать в качестве источника. Затем вам также необходимо создать экземпляр PresentationModel, который вы можете использовать для привязки. Таким образом, вместо привязки к PresentationModel.data вы должны привязаться к myPM.data.
Похожие вопросы
Новые вопросы
apache-flex
Apache Flex [НЕ CSS FLEXBOX] - это среда для разработки многофункциональных интернет-приложений, работающих в Flash Player или Adobe Air. Изначально разработанный компанией Adobe, Flex был подарен Apache Software Foundation в 2011 году и стал проектом Apache высшего уровня в декабре 2012 года.