Javascript 单例对象上的主干事件侦听器
我正在尝试创建一个单例对象作为主干上视图的模型,并且每当该单例对象被更改和更新时,我都希望重新渲染该视图。我不确定下面的代码是否正确 型号Javascript 单例对象上的主干事件侦听器,javascript,backbone.js,requirejs,backbone-views,backbone-events,Javascript,Backbone.js,Requirejs,Backbone Views,Backbone Events,我正在尝试创建一个单例对象作为主干上视图的模型,并且每当该单例对象被更改和更新时,我都希望重新渲染该视图。我不确定下面的代码是否正确 型号 define(function(require) { var Singleton = require("modules/Singleton"); var Singleton = null; var SingletonHolder = { init: function() { Singlet
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,它会转到服务器端并从数据库中获取最新数据,但它不会检测到更改并重新呈现视图。如果已经使用requirejs,则不必定义Singleton 单身人士:
define(['models/foo'], function(FooModel){
return new FooModel;
})
控制器:
define(['foosingleton', 'tempview'], function(fooSingleton, TempView){
var tempView = new TempView({
model: fooSingleton
});
});
这里有一个类似的问题: