sencha-touch的使用

本文详细介绍了如何通过控制器与视图的交互来实现消息推送功能,包括使用Ext JS框架创建面板、设置视图组件、初始化与激活事件处理、以及利用localStorage存储和获取数据的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.一个view对应一个controller,当view显示时,相应的在controller中的动作就会执行(controller中refs中的面板的名对应view的xtype),写法如:

view~

/*
* form to enter the location data
*/
Ext.require(['Ext.form.Panel','Ext.form.FieldSet']);
Ext
.define("StateGrid.view.Message.New",{
extend: 'Ext.Panel',
xtype: 'qtMsgPanel',
config : {
fullscreen: true,
items: [
       {
        xtype: 'fieldset',
        title: '消息推送',
        defaults: {
        labelWidth: '20%'
        },
        items: [
               {
                flex: 1,
                html: '标题',
               },
               {
                flex: 1,
                id: 'msgTitle',
                html: '标题',
               },
               {
                flex: 1,
                html: '消息内容',
               },
               {
                flex: 5,
                id: 'msgContent',
               },{
                flex: 1,
                xtype: 'button',
                text: '发布',
                id: 'publish',
               }
            ]
           }
       ]
},
});

controller~

/*
 * photo controller
 */
Ext.define("StateGrid.controller.MessageController",
{
extend : "StateGrid.controller.ApplicationController",
config: {
refs: {
msgNew : "qtMsgPanel",
publishBtn: 'button[id=publish]'
},
control: {
msgNew: {
initialize : 'onMessageNewInit',
activate: 'onMessaegActivate'
           },   
       publishBtn: {
        tap: 'onPublishTap',
       }
}
},
onMessaegActivate: function(){
doconnect("task"); 
},
onPublishTap: function(){
pub("task/ok", "you win~", 2);
},
onMessageNewInit: function(){
if(window.localStorage.getItem("topic") != null){
var title = Ext.ComponentManager.get('msgTitle');
var content = Ext.ComponentManager.get('msgContent');
title.setHtml(window.localStorage.getItem("topic"));
console.log("topic ~~~~" + window.localStorage.getItem("topic") );
content.setHtml(window.localStorage.getItem("msg"));
}
}
}
);

initialize:页面初始化执行的动作

tap:点击按钮时执行的动作

activate:view中的部件都初始化,而且显示完全后执行的动作

2.localstorage用法

key->content

保存:window.localStorage.getItem(key, content) 

获取:window.localStorage.getItem(key) 

3.在app.js中注册controller,view,model,storage,否则可能出现一些问题~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值