【发布时间】:2013-04-26 15:19:14
【问题描述】:
我正在尝试创建一个单例对象作为主干视图的模型,并且我想在更改和更新此单例对象时重新渲染视图。我不确定以下代码是否正确
型号
define(function(require) {
var Singleton = require("modules/Singleton");
var Singleton = null;
var SingletonHolder = {
init: function() {
Singleton = new Singleton();
return Singleton.fetch();
},
current: function() {
return Singleton;
},
refresh: function() {
return Singleton.fetch();
}
};
return SingletonHolder;
});
控制器
var currentObj = SingletonHolder.current();
var tempView = new TempView({
model: currentObj
});
查看
var TempView = Backbone.View.extend({
initialize: function() {
this.listenTo(this.model, "change", this.render);
}
render: function() {
...
}
});
由于某些原因,它不起作用。我错过了什么吗?我还尝试调用 Singleton.refresh,它将它转到服务器端并从数据库中获取最新数据,但它没有检测到更改并重新渲染视图。
【问题讨论】:
标签: javascript backbone.js requirejs backbone-views backbone-events