在setModel之后不会触发changeBubble事件。在createModel(true)之后它可以工作。还有另一种方法可以知道表格上有什么变化吗?
var page = new qx.ui.mobile.page.NavigationPage();
page.setTitle("Login");
page.addListener("initialize", function() {
var form = new qx.ui.mobile.form.Form();
// User name
var user = new qx.ui.mobile.form.TextField();
user.setRequired(true);
form.add(user, "Username");
var controller = new qx.data.controller.Form(null, form);
//var model = controller.createModel(true); This works
var data = {
"username": "Martin"
};
var model = qx.data.marshal.Json.createModel(data);
controller.setModel(model);
model.addListener("changeBubble", function (qxEvent) {
alert("Changed username");
}, this);
// Use form renderer
page.getContent().add(new qx.ui.mobile.form.renderer.Single(form));
},this);
this.getManager().addDetail(page);
page.show();
答案 0 :(得分:0)
您可以收听名为“changeUsername”的事件,该事件将在用户名更改后立即触发。但是只要在模型中有更多属性,就必须添加更多侦听器,每个属性对应一个。在这种情况下,泡沫事件无论如何都没有多大意义,因为你没有任何深层结构,冒泡会带来任何好处。