Ext.define("rgpd.user.Profile", {
config: {
id: -1,
role: 0,
token: '',
corps_metier: [],
},
constructor: function(config) {
this.initConfig(config);
this.callParent(arguments);
}
});
我有这个类定义。我需要对此进行全局访问以及对象值(使用getter和setter),但是必须从控制台无法访问成员变量(id,token,role等)。我尝试使用private property,但它没有工作
编辑:
来自给出的例子
Ext.application({ name : 'Fiddle',
launch : function() {
Ext.Msg.alert('Fiddle', 'Welcome to Sencha Fiddle!');
}
});
Ext.define('MyWindow', (function (){
var isWindow = true;
var isPrivateProp = true;
return {
isWindow: isWindow
};
})());
var myWindow = new MyWindow();
console.log('object: ', MyWindow);
console.log('isWindow: ', myWindow.isWindow);
console.log('isPrivateProp: ', myWindow.isPrivateProp);
myWindow.isPrivateProp = false;
console.log('isPrivateProp: ', myWindow.isPrivateProp);
如果我这样做,则isPrivateProp值将重置为false。我希望只使用我的getter函数访问该属性,我希望能够仅使用我的setter来更改属性值
答案 0 :(得分:0)
一个模式的基本示例,可以使用ExtJs来拥有私有成员:
Ext.application({
name : 'Fiddle',
launch : function() {
Ext.Msg.alert('Fiddle', 'Welcome to Sencha Fiddle!');
}
});
Ext.define('MyWindow', (function (){
var isWindow = true;
var isPrivateProp = true;
return {
isWindow: function () { return isWindow }
};
})());
var myWindow = new MyWindow();
console.log('object: ', MyWindow);
console.log('isWindow: ', myWindow.isWindow);
console.log('isPrivateProp: ', myWindow.isPrivateProp);
来源: http://flexblog.faratasystems.com/index.php/private-methods-in-ext-js/
编辑: 转到https://fiddle.sencha.com/#view/editor
粘贴此代码观察控制台:
<FlatList
contentContainerStyle={customers.length === 0 && styles.centerEmptySet}
data={customers}
renderItem={({ item, index }) => (
/// Your item here
)}
keyExtractor={(item, index) => {
return String(index);
}}
ListEmptyComponent={<EmptySetCustomer />}
/>