sencha-touch的使用

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,否则可能出现一些问题~

你可能感兴趣的:(sencha-touch的使用)