如何调用"{模型.Foo} updated"模型更新后

How to invoke "{Model.Foo} updated" after model update?

本文关键字:模型 quot Foo updated 更新 何调用 调用      更新时间:2023-09-26

我有一个javascript tmvc模型

/**
 * @class Hzfrontend.Models.Warmwasser
 * @parent index
 * @inherits jQuery.Model
 * Wraps backend warmwasser services.  
 */
$.Model('Hzfrontend.Models.Warmwasser',
/* @Static */
{
    findAll: "/api/warmwasser",
    findOne : "/api/warmwasser/{id}",
    update : "/api/warmwasser/{id}"
},
/* @Prototype */
{
    update : function(attrs, success, error){
        $.ajax({
            type: 'PUT',
            url:"/api/warmwasser/"+this.id,
            data: $.toJSON(this), 
            success: success,
            error: error,
            dataType: "json"});
    }
});

和Controller:

$.Controller('Hzfrontend.Warmwasser.List',
/** @Static */
{
    defaults : {}
},
/** @Prototype */
{
    init : function(){
        this.element.append(this.view('init',Hzfrontend.Models.Warmwasser.findAll()) )
    },
    '.waterTemperature change': function( el ){
            var mod = el.closest('.warmwasser').model();
            mod.attr('waterTemperature', el.val());
            mod.update();
            steal.dev.log("update waterTemperature");
    },
    "{Hzfrontend.Models.Warmwasser} updated" : function(Warmwasser, ev, warmwasser){
        warmwasser.elements(this.element)
              .html(this.view('warmwasser', warmwasser) );
        steal.dev.log("updated");
    }
});

更新完成后,我想在控制器中调用更新后的回调。如何做到这一点?如果我使用。/fixtures/fixtures.js'来测试没有后端服务器的应用程序,它的工作没有任何问题。

谢谢。

代码应该可以工作。从服务器返回的响应是什么?您应该返回一个JSON响应,其中包含您更新的对象。

你不应该有一个原型更新方法