senchatouch之container层注册事件

VLA模型:多模态认知与具身智能的关键技术 多模态学习是人工智能领域的重要方向,通过融合视觉、语言和动作等多种感知模态,使机器具备更接近人类的认知能力。VLA(Vision-Language-Action)模型采用模块化设计,将视觉编码器、语言理解模块和动作预测网络深度融合,在共享表征空间中实现跨模态理解。这种架构显著提升了机器对复杂指令的理解和执行能力,在机器人操作等具身智能场景中展现出巨大价值。关键技术包括CLIP风格的视觉编码器优化、动态token压缩语言处理以及混合密度网络的动作预测。实际部署时需关注数据效率、实时性优化和安全防护等工程挑战, 阅读详情

      假设界面有一个登录按钮, 点击登录按钮执行登录操作。按照senchatouch的mvc框架约定,界面代码要在view层写,事件需要在container层写,那怎样在container层注册事件将view层串联起来呢?

   我们先上界面view层代码:

Ext.define('Mpos.view.Login', {
	extend: 'Ext.form.Panel',
	alias: 'widget.login',
	requires : [ 'Ext.TitleBar', 'Ext.form.Panel', 'Ext.form.FieldSet',
			'Ext.field.Text', 'Ext.field.Password'],
	config : {
		itemId: 'login', 
		cls : 'login',
		fullscreen : true,
		layout : {
			type : 'vbox',
			align : 'middle'
		},
		items : [ {
			xtype : 'titlebar',
			title : '登录Demo',
			docked : 'top'
		}, {
			xtype : 'container',
			height : '20%'
		},

		{
			xtype : 'container',
			layout : 'hbox',
			width : '60%',
			items : [ {
				xtype : 'container',
				flex : 1,
				layout : 'vbox',
				items : [ {
					itemId : 'loginForm',
					xtype : 'formpanel',
					width : '100%',
					height : 180,
					items : [ {
						xtype : 'fieldset',
						title : '请登录',
						items : [{
							itemId : 'username',
							xtype : 'textfield',
							name : 'emp.code',
							label : '用户名',
							nextFocus : 'password'
						}, {
							itemId : 'password',
							xtype : 'passwordfield',
							name : 'emp.password',
							label : '密码'
						} ]
					} ]
				}, {
					xtype : 'container',
					layout : 'hbox',
					items : [ {
						flex : 1
					}, {
						itemId : 'loginButton',
						xtype : 'button',
						text : '登录'
					}, {
						flex : 1
					} ]
				}, {
					itemId : 'message',
					xtype : 'container',
					height : 50
				} ]
			}, {
				itemId : 'numberpad',
				xtype : 'numberpad'
			} ]
		}

		]
	}

});


用户需要输入用户名、密码点击登录按钮登录。为界面定义了别名alias: 'widget.login', 另外定了3个控件的ID, 用户名输入框itemId : 'username',,密码输入框itemId : 'password',登录按钮itemId : 'loginButton', 这三个值非常重要。在container层写事件代码时要用到。现在上container层代码:

我们定义一个EmployeeManager管理用户相关界面操作

Ext.define('Mpos.controller.EmployeeManager', {
    extend: 'Ext.app.Controller',
	requires: ['Mpos.service.Session'],
    config: {
        refs: {
        },
        control: {
            "login #loginButton": {
            	tap: 'onLoginButtonTap'
            }
        }
    },
    
    //用户登录按钮响应事件
    onLoginButtonTap: function(button, e, eOpts) {
    	console.log('用户登录按钮响应事件');
    	var form = button.up('formpanel');
	session.login({
		params: form.getValues(),
		callback : function() {
			Ext.Viewport.removeAll(true);
			var view = Ext.create('Mpos.view.Main');
			view.setMerchantUser();
			Ext.Viewport.add(view);
		}
	});
    }
});


注册登录按钮事件是这一句话:

        control: {
            "login #loginButton": {
            	tap: 'onLoginButtonTap'
            }
        }
login 为上面定义的view界面的别名, loginButton为登录按钮的ID,这样就找到了登录界面的登录按钮。tab代表点击事件。onLoginButtonTap代表触发tab事件后要执行的函数。关于事件函数的命名我建议采用这样的方式:on+控件ID+事件名称。

这样是不是就结束了? 不是的,要注意app.js 要声明view 和container的两个js文件,否则js很可能没被加载,导致点击登录按钮没有反应。代码如下:

Ext.application({
	name: 'Mpos',
	requires: ['Ext.MessageBox'],
	views: ['Login'],
        controllers: ['EmployeeManager']
});

如果要访问view的控件要这么做:

首先定义引用refs

	config:{
		refs:{
			flowon: "login #<span style="font-family:Arial, Helvetica, sans-serif;">username</span>"
		},
		control:{
			}
		}
	},
以上代码对view用户名输入框控件定义了引用
定义引用后,控制器会自动生成一个getter方法,格式为get{关键字},且关键字的第一个字母会自动转换成大写, 上面定义的flowno会生成getFlowno()方法。

如果要获取输入的用户名,代码: this.getFlowno().getValue();

如果要使用户名输入框获取焦点,代码:this.getFlowno().focus();








        
省级产业研发综合指标数据2004-2024年 01、数据介绍 产业研发综合指标通常用于衡量各省份在科技创新、研发投入、成果转化及产业发展等方面的综合实力。结合现有的权威评估报告与统计整理如下数据。包括研发机构情况,R&D相关投入,新产品开发与销售、发明专利数、技术引进技术改造经费支出等数据。 数据名称:省级产业研发综合指标数据 数据年份:2004-2024年 02、数据指标 统计年度 地区代码 地区名称 研发机构数(个) R&D人员折合全时当量(人年) R&D经费内部支出(万元) R&D项目数(项) R&D项目经费(万元) 新产品开发项目数(项) 新产品开发经费支出(万元) 新产品销售收入(万元) 新产品销售收入-出口(万元) 专利申请数(件) 发明专利申请数(件) 有效发明专利数(件) 技术改造经费支出(万元) 购买境内技术经费支出(万元) 技术引进经费支出(万元) 消化吸收经费支出(万元) 立即下载

相关推荐

如何实现高校科技成果转化的高效对接?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

sencha touch 给tabpanel中子组件container添加tap点击事件

sencha touch添加tap点击事件 var tabpanel = Ext.getCmp('rota_persons_List_tabpanel').getTabBar( ).innerItems[1]; rota_persons_List_tabpanel这个为tabpanel组件的id名称.getTabBar()是获取tabpanel有几个子组件,.innerltems[1],获取第二...

weixin_43369058的博客 587

TinyML边缘智能振动诊断实战-ESP32完整工程-v1.0.zip

无硬件可完整体验:固件内置信号合成模拟器(严格复现训练物理模型),串口发 S0~S3 切换 4 种机器故障 算子级正确性:用 inspect_model_ops.py 从 tflite 解析出实际算子(EXPAND_DIMS/CONV_2D/RESHAPE/MEAN/FC/SOFTMAX),固件注册逐一对应——规避了 TFLite Micro 最常见的 "Op type not found" 坑 诚实标注:文档中明确区分“合成演示数据 / 工程近似 / 实测值”,并给出接入真实数据的完整流程

sencha touch Container tpl 监听组件插件(2013-9-14)

将http://www.cnblogs.com/mlzs/p/3279162.html中的功能插件化 插件代码: 1 /* 2 *tpl模版加入按钮 3 *<div class="x-button-normal x-button x-iconalign-center x-layout-box-item x-stretched btn" style="visi...

164

Sencha Touch NavigationView 中页面的生命周期(触发事件)

在NavigationView中Push进一个页面进来的生命周期(触发事件)如下: (1)initialize (2)activate (3)show   NavigationView Push进第二个页面后,第一个页面: (1)deactivate   NavigationView Pop出第二个页面后,第一个页面: (1)activate (2)show   Nav...

老邢的IT译站 472

sencha touch 给没有touch事件的控件添加touch事件

xtype: 'textfield',  name: 'field02', required:true,  label: '工位:',  labelWidth:'40', id:'station', disabled:true,  placeHolder: '工位', listeners:{ initialize:function(st, eOpts){ this.elemen

Runing_snailLBNL的博客 627

基于SpringBoot+Vue校园失物招领系统的设计与实现

校园失物招领系统的设计与实现前端采用了Vue框架,并结合ElementUI来实现界面的设计与布局。后端采用了SpringBoot框架进行开发设计,并结合了Java语言和MySQL数据库来实现。在功能上分为了前端用户模块和管理员模块。前端用户模块主要实现了招领物品信息的发布、查询与管理,失物信息的发布、管理以及自动匹配招领物品,查看校园相关通知公告。管理员模块主要实现了物品分类管理、校园通知管理以及物品招领信息的查询统计等功能。校园失物招领系统的实现优化失物招领的流程,提高了校园失物招领的效率,促进了校园文化的建设,营造了良好的诚信氛围。

科技成果转化效率低怎么办?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

产业园区如何搭建统一的科技服务平台?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

复现基于改进秃鹰算法的微电网群经济优化调度研究(Matlab代码实现)

内容概要:本文围绕“基于改进秃鹰算法的微电网群经济优化调度”展开研究,提出了一种改进的秃鹰搜索算法(BES),旨在解决微电网群在复杂运行环境下的多目标、强约束、非线性及高维经济调度问题。通过引入特定优化策略,增强了基础算法的全局搜索能力和收敛效率,克服了传统智能算法易陷入局部最优的缺陷。研究构建了一个包含分布式电源、储能系统与多元负荷的微电网群调度模型,以最小化系统综合运行成本为核心目标,综合考虑功率平衡、设备出力能力、储能运行特性等多重约束条件。通过仿真实验验证了所提算法在调度精度、稳定性和计算效率方面相较于传统方法具有明显优势,并进一步展示了其在降低能源开支、提升可再生能源消纳水平方面的实际应用价值。; 适合人群:具备一定电力系统基础知识或优化算法背景,从事新能源调度、智能优化算法研究与应用等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于微电网群、综合能源系统等场景下的经济调度优化;②为秃鹰算法及其他群体智能算法的改进、复现与性能对比提供参考范例;③服务于科研仿真、算法验证及工程化应用需求。; 阅读建议:建议读者结合文中提供的Matlab代码实现进行实践操作,重点关注算法改进机制与调度模型的构建逻辑,同时可借助网盘资源获取完整资料,以加深对算法性能表现与应用场景的理解。

ffmpeg-Muti-solve-rtspnogood.zip

多路推流MP4本地切换测试。跨平台arm_win

Obsidian 是一款本地优先的笔记与知识管理工具,基于 Markdown 文件存储,以双链(Bidirectional Links)为核心,帮助你构建个人知识网络

Obsidian 是一款本地优先的笔记与知识管理工具,基于 Markdown 文件存储,以双链(Bidirectional Links)为核心,帮助你构建个人知识网络

政府科技管理部门如何推动区域科技创新资源配置优化?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

上一篇: vs.NET 错误:该项不适于在指定状态下使用
下一篇: 系统运维FAQ
嘉佑
博客等级 码龄18年 2粉丝 8原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值