2013-02-26 2 views
0

setButton 이벤트가 setModel 후에 트리거되지 않는다. createModel (true) 이후에 작동합니다. 양식에서 어떤 것이 변경되었음을 알 수있는 또 다른 방법이 있습니까?Qooxdoo changeBubble이 setModel 이후에 소멸되지 않는다

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

"changeUsername"이라는 이벤트를 수신 할 수 있으며 사용자 이름이 변경되는 즉시 해고 될 수 있습니다. 그러나 모델에 하나 이상의 속성이 있으면 바로 각 속성에 대해 하나의 수신기를 추가해야합니다. 이 경우 버블 링 이벤트는별로 의미가 없습니다. 왜냐하면 버블 링이 어떤 이점을 가져올 수있는 심층 구조가 없기 때문입니다.