// util/model.js
define(['util/class'], function(classCtor) {
return classCtor.create({
set: function(key, value) {
// this doesn't work, because self is pointing to window
if (value instanceof self) {
// do Something
}
}
});
});
这应该是我所有实体的基类。因为我的模块是用RequireJS风格编写的,所以我可以使用以下解决方法:
if (value instanceof require('util/model'))
这很好用,但现在我的代码被耦合到ModuleName。有什么建议如何避免这种耦合? 顺便说一下:我使用Steffen Rusitschka中基于原型的帮助器来构建我的类
答案 0 :(得分:0)
您可以为匿名类使用变量:
define(['util/class'], function(classCtor) {
var self = classCtor.create({
set: function(key, value) {
// self is the class now:
if (value instanceof self) {
// do Something
}
}
});
return self;
});