-
FEATURED COMPONENTS
First time here? Check out the FAQ!
I use template to organise pages of my application. But i have a problem with @save directive when the ViewModel is in the template and the textbox to save is in the page. The data binder doesn't fire the setUser in my ViewModel.
The template : /test/template.zul
<?page title="Web" contentType="text/html;charset=UTF-8"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<zk>
<window apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('fr.LogginViewModel')">
<vlayout>
<label>Hello word !</label>
<div self="@insert(content)"></div>
</vlayout>
</window>
</zk>
The page : /test/index.zul
<?init class="org.zkoss.zk.ui.util.Composition" arg0="/test/template.zul"?>
<zk>
<hlayout self="@define(content)" valign="middle">
<label>What's your name :</label>
<textbox value="@save(vm.user)" focus="true" />
</hlayout>
</zk>
The LogginViewModel Classe :
package fr;
public class LogginViewModel
{
// Nom de l'utilisateur
private String user;
public void setUser(String user)
{
this.user = user;
}
}
I'm pretty sure you have to use @save in the context of using form binding http://books.zkoss.org/wiki/ZKDeveloper'sReference/MVVM/Syntax/Data_Binding/@save
Maybe you just want to use @bind(vm.user) ? You should see your setUser called using @bind
Asked: 2013-09-12 13:26:11 +0800
Seen: 14 times
Last updated: Sep 20 '13