dojo で実際のプライベート変数を定義する良い方法はありますか?
dojo 1.7/1.8 では、private 変数を定義する 2 つの方法を見つけましたが、どちらも static private (クラスのすべてのインスタンスで共有) です。
1.匿名の即時関数を使用します。
define([
'dojo/_base/declare'], function(declare) {
'use strict';
return declare('test.Class2', null, (function(){
var a = 1;
return {
constructor: function(){
console.log('constructor');
},
geta: function(){
return a;
},
seta: function(v){
a = v;
}
};
})());
});
2.モジュール定義でプライベート変数を定義します。
define([
'dojo/_base/declare'], function(declare) {
'use strict';
var a = 1;
return declare('test.Class1', null, {
constructor: function(){
console.log('constructor');
},
geta: function(){
return a;
},
seta: function(v){
a = v;
}
});
});