【问题标题】:Qooxdoo changeBubble not fired after setModel在 setModel 之后没有触发 Qooxdoo changeBubble
【发布时间】:2013-02-26 19:19:32
【问题描述】:

在 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();

【问题讨论】:

    标签: qooxdoo


    【解决方案1】:

    您可以监听名为“changeUsername”的事件,该事件将在用户名更改后立即触发。但是,一旦您的模型中有多个属性,您就必须添加更多侦听器,每个属性一个。在这种情况下,冒泡事件无论如何都没有多大意义,因为您没有任何深层结构可以让冒泡产生任何好处。

    【讨论】:

      猜你喜欢
      • 2013-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      • 2011-07-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多