Heim  >  Artikel  >  Web-Frontend  >  常用Extjs工具:Extjs.util.Format使用方法_extjs

常用Extjs工具:Extjs.util.Format使用方法_extjs

WBOY
WBOYOriginal
2016-05-16 17:55:031323Durchsuche

抄些常用工具方便查找
----------字符串
Ext.util.Format.capitalize(string str);//将首字母变大写
Ext.util.Format.ellipsis(string value, Number length);//截取指定length字符,将自动在尾处添加省略号'...'
Ext.util.Format.htmlEncode(string value); //将文本编码
lowercase(string value);//变小写
stripScripts(Mixed value);//删除所有的Script标签
stripTags(Mixed value);//删除所有标签
substr(value, start, length)
trim(value)

----------日期
Ext.util.Format.date(Mixd value, [String format]); 如:Ext.util.Format.date(new Date(), 'Y-m-d')=>2012-03-19
Ext.util.Format.dateRenderer(string format);//专门为Ext.grid.Gridpanel使用,ColumnModel中

---------宿舍判断
defaultValue(Mixed value, string defalutValue);//如果第一个参数为空,则返回第二个,反之。
undef(Mixed value;//如果value等于空,则回返空字符串,否则返回value

==========扩展Function
1、createCallback()会创建当前函数的回调函数,如:

复制代码 代码如下:

var sayHi = function(name){
alert('Hi'+name);
}
new Ext.Button({
text: 'say hi',
handler: sayHi.createCallback('jinshan')
});

createCallback的作用是为原有的参数设置默认参数。在上例中,在使用createCallback时就已经将‘jinshan' 设置给对应的回调函数,单击按钮后将参数传递给sayHi().

2、createDelegate()会创建当前函数的代理函数。
如:
复制代码 代码如下:

var sayHi = function(name){
alert(name - this.text); //this.text表示btn函数的text值Say Hi,
}
var btn = new Ext.Button({
text: 'Say Hi'
});
btn.on('click', sayHi.createDelegate(btn, ['jisnh']));

这个创建了代理, sayHi指向了btn。。如果btn改成其它对象,则sayHi将会自动转到其它对象去。


3、createInterceptor(fun, scope);为当前函数设置拦截器,类似 AOP 概念。如:
复制代码 代码如下:

var sayHi = function(name){
alert(name);
}
sayHi('1');
var sayHito = sayHi.createInterceptor(function(name){
return name == '2';
});
sayHito(1) ;//没有提示
sayHito(2);//弹出2

拦截器会在原函数执行之前执行,并且只有在拦截器返回true时才会去执行原函数。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn