ExtJS - ExtJS实例
更新记录
转载请注明出处:https://www.cnblogs.com/cqpanda/p/16583540.html
2022年8月14日发布。
2022年8月13日 从笔记迁移到博客。
ExtJS教程汇总:https://www.cnblogs.com/cqpanda/p/16328016.html
ExtJS实例
JSON转换#
对象转为JSON使用Ext.encode(o);方法,Ext.JSON.encode的别名
JSON转为对象使用Ext.decode(str);方法,Ext.JSON.decode的别名
实例:对象转为JSON#
Ext.onReady(function(){
//数据
var pandaObject = {
name:"Panda",
code:666,
hobby:['Paly Games','Make Something']
};
//转换为JSON
var parseStr = Ext.encode(pandaObject);
console.log(parseStr);
});
实例:JSON转为对象#
Ext.onReady(function(){
//数据
var pandaObject = {
name:"Panda",
code:666,
hobby:['Paly Games','Make Something']
};
//转换为JSON
var parseStr = Ext.encode(pandaObject);
console.log(parseStr);
//转为对象
var parseObject = Ext.decode(parseStr);
console.log(pandaObject);
});
判断操作系统信息#
使用以下方法判断操作系统的版本信息
Ext.isLinux
Ext.isMac
Ext.isWindows
实例:判断是否Windows系统#
if(Ext.isWindows)
{
console.log("Windows Yes!");
}
判断浏览器版本信息#
使用以下方法判断浏览器的版本信息
Ext.isChrome
Ext.isEdge
Ext.isOpera
Ext.isSafari
Ext.isGecko //判断是否Gecko内核,Firefox的内核
Ext.isWebKit
Ext.isIE
Ext.isIE8
Ext.isIE8m
Ext.isIE8p
Ext.isIE9
Ext.isIE9m
Ext.isIE9p
Ext.isIE10
Ext.isIE10m //判断是否 IE 10.x或者更低
Ext.isIE10p //判断是否 IE 10.x或者更高
Ext.isIE11
Ext.isIE11m
Ext.isIE11p
实例:判断是否WebKit内核#
if(Ext.isWebKit)
{
console.log("WebKit Yes!");
}
判断是否Chrome浏览器#
if(Ext.isChrome)
{
console.log("Chrome Yes!");
}
获得浏览器版本信息#
使用Ext.chromeVersion属性,获得Chrome版本信息
使用Ext.firefoxVersion属性,获得Firefox版本信息
使用Ext.ieVersion属性,获得IE版本信息
使用Ext.operaVersion属性,获得opera版本信息
使用Ext.safariVersion属性,获得safari版本信息
使用Ext.webKitVersion属性,获得WebKit版本信息
实例:获得Chrome版本#
console.log(Ext.chromeVersion);
实例:获得Firefox版本#
console.log(Ext.firefoxVersion);
判断是否启用HTTPS#
使用Ext.isSecure属性
实例:获得是否启用HTTPS#
console.log(Ext.isSecure);
判断是否浏览器JavaScript严格模式#
使用Ext.isStrict属性
实例:获得是否严格模式#
console.log(Ext.isStrict);
HTML代码与实体转换#
HTML代码转为实体,使用Ext.htmlEncode()方法
实体转为HTML代码,使用Ext.htmlDecode()方法
实例:html代码转为实体#
var htmlCode = '<h1>panda666.com</h1>';
var parseHtml = Ext.htmlEncode(htmlCode);
console.log(parseHtml); //<h1>panda666.com</h1>
实例:实体字符串转为HTML代码#
var htmlCode = '<h1>panda666.com</h1>';
var parseHtml = Ext.htmlEncode(htmlCode);
var originHtmlCode = Ext.htmlDecode(parseHtml);
console.log(originHtmlCode); //<h1>panda666.com</h1>
生成唯一Id#
使用Ext.id()方法,直接生成一个Id:
Ext.id(); //默认以ext-*为前缀
直接生成一个Id(带前缀):
Ext.id(null,'Panda-');
给对象/DOM元素分配一个独一无二的Id
var obj = {};
var id1 = Ext.id(obj); //默认以ext-element-*为前缀
console.log(id1);
给对象/DOM元素分配一个独一无二的Id(带前缀)
var obj = {};
var id1 = Ext.id(obj, 'Panda-');
console.log(id1);
判断数据类型#
判断Number类型,使用Ext.isNumber()方法
判断Numeric类型,使用Ext.isNumeric()方法
判断String类型,使用Ext.isString ()方法
判断boolean类型,使用Ext.isBoolean()方法
判读Array类型,使用Ext.isArray()方法
判断Object类型,使用Ext.isObject()方法
判断Date类型,使用Ext.isDate()方法
判断Function类型,使用Ext.isFunction()方法
判断是否可迭代对象,使用Ext.isIterable()方法
判断原始类型,使用Ext.isPrimitive()方法
判断文本节点类型,使用Ext.isTextNode ()方法
实例:判断Boolean类型#
var isHandsome = true;
if(Ext.isBoolean(isHandsome))
{
console.log("Handsome!");
}
实例:判断是否数组#
var animals = ["Panda","Dog","Monkey"];
if(Ext.isArray(animals))
{
animals.map(function(animal){
console.log(animal);
});
}
实例:判断对象类型#
var pandaObject = {};
console.log(Ext.isObject(pandaObject));
实例:判断日期类型#
var date = new Date();
console.log(Ext.isDate(date)); //true
实例:判断数值类型#
Ext.isNumber(123); //true
Ext.isNumber(666); //true
Ext.isNumber(666.66); //true
Ext.isNumber('666'); //false
Ext.isNumber(0); //true
实例:判断数值类型(Numeric)#
Ext.isNumeric(666); //true
Ext.isNumeric('666'); //true
Ext.isNumeric('666.66'); //true
实例:判断Function类型#
Ext.isFunction(function(){}); //true
Ext.isFunction(()=>{}); //true
Ext.isFunction(new Function()); //true
实例:判断是否可迭代对象#
Ext.isIterable({}); //false
Ext.isIterable([1,2,3]); //true
Ext.isIterable(new Array()); //true
判断类型是否已经定义#
使用Ext.isDefined()方法
实例:判断对象是否已经定义#
var obj = {};
console.log(Ext.isDefined(obj)); //true
console.log(Ext.isDefined(null)); //true
console.log(Ext.isDefined(false)); //true
console.log(Ext.isDefined(0)); //true
var abc;
console.log(Ext.isDefined(abc)); //false
判断是否HTMLElement对象#
使用Ext.isElement()方法
实例:判断是否HTMLElement对象#
var ele = document.createElement('p');
console.log(Ext.isElement(ele)); //true
console.log(Ext.isElement({})); //false
console.log(Ext.isElement([1,2])); //false
判断是否为空#
使用Ext.isEmpty ( value, [allowEmptyString] ) 方法
实例:判断是否为空#
Ext.isEmpty(1); //false
Ext.isEmpty(null); //true
Ext.isEmpty(undefined); //true
Ext.isEmpty(0); //false
Ext.isEmpty({}); //false
Ext.isEmpty([]); //true
Ext.isEmpty([1,2]); //false
查询获得所有匹配的元素#
Ext.all ( selector, [root] ) : Ext.Component[]
注意:Ext.ComponentQuery.query()方法的别名
查询获得匹配的第一个元素#
Ext.first ( selector, [root] ) : Ext.Component
查询获得元素(只使用一次)#
Ext.fly ( dom, [named] ) : Ext.dom.Element
查询获得元素#
Ext.get ( element )
查询获得元素#
Ext.query ( selector, [asDom] ) : HTMLElement[]/Ext.dom.Element[]
注意:该方法是Ext.dom.Element.query别名
查询获得元素
Ext.select ( selector, composite ) : Ext.dom.CompositeElementLite/Ext.dom.CompositeElement
注意:该方法是Ext.dom.Element.select别名
获得Ext.app.Application对象#
使用
Ext.getApplication()
获得window对象#
使用Ext.getWin()方法
注意:返回的是一个ExtJS Element对象,不是DOM 对象
可以使用.dom属性获得Dom对象
实例:获得Windows对象及其DOM对象#
console.log(Ext.getWin());
//获得浏览器DOM对象
console.log(Ext.getWin().dom);
获得document对象#
Ext.getDoc
获得<head>
标签#
Ext.getHead
获得<body>
标签#
Ext.getBody
获得指定的Store#
Ext.getStore ( name ) : Ext.data.Store
获得视窗的高宽#
Ext.getViewportHeight()
Ext.getViewportWidth()
获得对象的类型#
Ext.getClass ( object ) : Ext.Class
获得对象的类的名称#
Ext.getClassName ( object ) : String
获得对象的DOM元素#
Ext.getDom ( el ) : HTMLElement
实例:
// gets dom node based on id
var elDom = Ext.getDom('elId');
// gets dom node based on the dom node
var elDom1 = Ext.getDom(elDom);
// If we don't know if we are working with an
// Ext.Element or a dom node use Ext.getDom
function(el){
var dom = Ext.getDom(el);
// do something with the dom node
}
加载Ext.app.Application并初始化#
Ext.application ( config )
对象组合#
Ext.apply ( object, config, [defaults] ) : Object
Ext.applyIf ( object, config ) : Object
对象成员复制#
Ext.copy ( dest, source, names, [usePrototypeKeys] ) : Object
Ext.copyIf ( destination, source, names ) : Object
实例:
var foo = { a: 1, b: 2, c: 3 };
var bar = Ext.copy({}, foo, 'a,c');
// bar = { a: 1, c: 3 };
创建类#
Ext.create ( [name], [args] ) : Object
创建类(使用别名)#
Ext.createByAlias ( alias, args ) : Object
定义对象#
Ext.define ( className, data, [createdFn] ) : Ext.Base
定义命名空间#
Ext.namespace ( namespaces ) : Object
Ext.ns ( namespaces ) : Object
绑定事件#
Ext.on ( eventName, [fn], [scope], [options], [order] ) : Object
注意:该方法是Ext.GlobalEvents#addListener别名
解绑事件#
Ext.un ( eventName, fn, [scope] )
延迟加载函数#
Ext.defer ( fn, millis, [scope], [args], [appendArgs] ) : Number
实例:
var sayHi = function(name) {
alert('Hi, ' + name);
}
// executes immediately:
sayHi('Fred');
// executes after 2 seconds:
Ext.defer(sayHi, 2000, this, ['Fred']);
指定间隔时间加载函数和取消函数#
Ext.interval ( fn, millis, [scope], [args], [appendArgs] ) : Number
Ext.uninterval ( id )
实例:
var sayHi = function(name) {
console.log('Hi, ' + name);
}
// executes every 2 seconds:
var timerId = Ext.interval(sayHi, 2000, this, ['Fred']);
//timer stopped
Ext.uninterval(timerId);
转为数组#
Ext.toArray ( iterable, [start], [end] ) : Array
释放对象#
Ext.destroy ( args )
释放对象指定的成员#
Ext.destroyMembers ( object, args )
遍历成员#
Ext.each ( array, fn, [scope], [reverse] ) : Boolean/Number
实例:
var countries = ['Vietnam', 'Singapore', 'United States', 'Russia'];
Ext.Array.each(countries, function(name, index, countriesItSelf) {
console.log(name);
});
var sum = function() {
var sum = 0;
Ext.Array.each(arguments, function(value) {
sum += value;
});
return sum;
};
sum(1, 2, 3); // returns 6
遍历成员#
Ext.iterate ( object, fn, [scope] )
注意:该方法是Ext.Array.each别名
排除指定组件#
Ext.exclude ( excludes ) : Object
实例:
Ext.exclude('Ext.data.*').require('*');
Ext.exclude('widget.button*').require('widget.*');
输出日志#
Ext.log ( [options], [message] )
参数:
options : String/Object (optional)
The message to log or an options object with any of the following properties:
msg: The message to log (required).
level: One of: "error", "warn", "info" or "log" (the default is "log").
dump: An object to dump to the log as part of the message.
stack: True to include a stack trace in the log.
indent: Cause subsequent log statements to be indented one step.
outdent: Cause this and following statements to be one step less indented.
message : String... (optional)
The message to log (required unless specified in options object).
获得当前时间戳#
Ext.now()
ExtJS准备函数#
Ext.onReady ( fn, [scope], [options] )
延迟执行#
Ext.defer(function() {
//do something
}, 3000);
作者:重庆熊猫
出处:https://www.cnblogs.com/cqpanda/p/16583540.html
版权:本作品采用「不论是否商业使用都不允许转载,否则按3元1字进行收取费用」许可协议进行许可。
本文来自博客园,作者:重庆熊猫,转载请注明原文链接:https://www.cnblogs.com/cqpanda/p/16583540.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类