Considering the simplified example below, can someone please tell me why the
environmental peekable for a page render request but not peekable for an
ajax event? Upon debugging, I have found that if I decloak() the
environment, I can then peek() the model.
Page.tml
======
<t:myComponent>
<t:subComponent />
</t:myComponent>
MyComponent.tml
=============
<t:zone t:id="zone">
<t:delegate to="componentResources.body" />
<t:eventlink event="doIt" zone="^">Do It</t:eventlink>
</t:zone>
MyComponent.java
==============
@Inject Environment environment;
@InjectComponent Zone zone;
void onActivate() {
environment.push(SomeModel.class, new SomeModelImpl());
}
Block onDoIt() {
environment.push(SomeModel.class, new SomeModelImpl());
return zone.getBody();
}
MySubComponent.java
=================
@Inject Environment environment;
void setupRender() {
SomeModel model = environment.peek(SomeModel.class); // this works for
the non-ajax request
if (model == null) { // model is null for my ajax event
environment.decloak(); // this causes all sorts of problems further
down the line
model = environment.peek(SomeModel.class); // this returns my model
for the ajax event
}
}
--
View this message in context:
http://tapestry.1045711.n5.nabble.com/5-4-alpha-2-Environment-cloaked-during-ajax-component-event-tp5719496.html
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]