您的位置:首页 > 其它

sencha-touch的使用

2013-12-09 13:21 148 查看
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,否则可能出现一些问题~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: