我想使用 Clojurescript 在 Javascript 框架中编写组件,但我不知道如何创建构造函数并在对象中调用全局变量。
该框架通过从保存的 jason 文件中读取它们的状态并在 javascript 中具体化它们来创建视图(在它们自己的 .js 文件中)(视图是这样的代码):
(function() {
var Title = function(json) {
view.View.call(this, json); // view is defined in another js file - global namespace
this.title = json.title;
this.el.addClass("title");
}
view.inherit(view.View, Title);
view.Title = Title;
view.types.Title = Title;
Title.prototype.json = function() {
return $.extend(view.View.prototype.json.call(this), {
type: 'Title',
title: this.title
});
}
Title.prototype.reflow = function() {
this.h2.quickfit(opts);
}
})();
我已经看到了如何使用 deftype 宏和对象创建 Javascript 对象:
(deftype Foo [a b c]
Object
(bar x (+ a b c x)))
我是 javascript 和 clojurescript 的新手。我看到包装所有内容的匿名函数为视图提供了一个范围,但不确定如何(或如果我需要)因此在 clojurescript 中等效。
所以我的问题是:如何在这个模型中为 Title 创建构造函数?我应该如何处理对视图变量的调用,例如 view.inherit 等?
谢谢