Gravatar 图像无法在 Ext JS 上呈现 header。 Gravatar 的代码块不起作用
Gravatar image doesn't render on Ext JS header. The block of code of Gravatar doesn't work
我在 header 上使用两个 classes 进行 gravatar 成像:'Foresto.ux.Gravatar'、'Foresto.views.account.Account'。我希望在主要 header 上获得它。但是控制台抛出它:''Uncaught ReferenceError: hex_md5 is not defined''
我尝试更改调用方法 'Foresto.views.account.Account'
Ext.define('Foresto.ux.Gravatar', {
extend: 'Ext.Img',
alias: 'widget.gravatarimg',
gravatarUrl: '//www.gravatar.com/avatar/',
imgCls: 'gravatar-img',
email: '',
gravatarParams: {
default: 'identicon',
size: 80
},
initialize: function() {
this.src = this.getImageUrl(this.email);
this.callParent();
},
getImageUrl: function(email){
var url = this.gravatarUrl+hex_md5(email).toLowerCase();
return Ext.urlAppend(url, Ext.Object.toQueryString(this.gravatarParams));
},
setEmail:function(email){
this.setSrc(this.getImageUrl(email));
}});
下一个class:
Ext.define('Foresto.view.account.Account', {
extend: 'Foresto.ux.Gravatar',
autoEl: 'div',
xtype:'avatest',
id: 'avatest',
cls: 'account-control ol-control',
gravatarParams: {
default: 'retro',
size: 36
}
})
我在 Main.js 中称呼它:
header: {
height: 65,
items: user.login ? [{
xtype:'avatest',
},{
xtype:'button',
text: user.login ? 'up' : 'in',
cls:'mainbuttons',
handler: function() {
user.login ? window.location.assign("/accounts/logout/") : Ext.Viewport.toggleMenu('right');
}
},{
xtype:'button',
text:'info',
cls:'mainbuttons',
margin: '0, 2 , 8, 0'
}] : [{
xtype:'button',
text: user.login ? 'up' : 'in',
cls:'mainbuttons',
handler: function() {
user.login ? window.location.assign("/accounts/logout/") : Ext.Viewport.toggleMenu('right');
}
},{
xtype:'button',
text:'О сервисе',
cls:'mainbuttons',
margin: '0, 2 , 8, 0'
}],
title : {
text : 'MYAPP(pre-alpha)',
cls: 'header-cls'
},
},
只需在创建 Ext.Img 实例之前在构造函数中设置 src。
我在 header 上使用两个 classes 进行 gravatar 成像:'Foresto.ux.Gravatar'、'Foresto.views.account.Account'。我希望在主要 header 上获得它。但是控制台抛出它:''Uncaught ReferenceError: hex_md5 is not defined''
我尝试更改调用方法 'Foresto.views.account.Account'
Ext.define('Foresto.ux.Gravatar', {
extend: 'Ext.Img',
alias: 'widget.gravatarimg',
gravatarUrl: '//www.gravatar.com/avatar/',
imgCls: 'gravatar-img',
email: '',
gravatarParams: {
default: 'identicon',
size: 80
},
initialize: function() {
this.src = this.getImageUrl(this.email);
this.callParent();
},
getImageUrl: function(email){
var url = this.gravatarUrl+hex_md5(email).toLowerCase();
return Ext.urlAppend(url, Ext.Object.toQueryString(this.gravatarParams));
},
setEmail:function(email){
this.setSrc(this.getImageUrl(email));
}});
下一个class:
Ext.define('Foresto.view.account.Account', {
extend: 'Foresto.ux.Gravatar',
autoEl: 'div',
xtype:'avatest',
id: 'avatest',
cls: 'account-control ol-control',
gravatarParams: {
default: 'retro',
size: 36
}
})
我在 Main.js 中称呼它:
header: {
height: 65,
items: user.login ? [{
xtype:'avatest',
},{
xtype:'button',
text: user.login ? 'up' : 'in',
cls:'mainbuttons',
handler: function() {
user.login ? window.location.assign("/accounts/logout/") : Ext.Viewport.toggleMenu('right');
}
},{
xtype:'button',
text:'info',
cls:'mainbuttons',
margin: '0, 2 , 8, 0'
}] : [{
xtype:'button',
text: user.login ? 'up' : 'in',
cls:'mainbuttons',
handler: function() {
user.login ? window.location.assign("/accounts/logout/") : Ext.Viewport.toggleMenu('right');
}
},{
xtype:'button',
text:'О сервисе',
cls:'mainbuttons',
margin: '0, 2 , 8, 0'
}],
title : {
text : 'MYAPP(pre-alpha)',
cls: 'header-cls'
},
},
只需在创建 Ext.Img 实例之前在构造函数中设置 src。