使用Sencha Touch加载本地Json数据

本例没有采用Sencha的mvc模式。只是一个简单的读取加载本地Json数据示例。

文档结构如下:

app.js代码如下:

Ext.require([‘Ext.form.Panel‘,
             ‘Ext.data.Store‘,
             ‘Ext.data.reader.Json‘,
             ‘Ext.dataview.DataView‘]);
Ext.application({
	name:‘MyApp‘,
	icon:‘images/icon.png‘,
	glossOnIcon:false,
	phoneStarupScreen:‘images/starUp.png‘,
	tabletStartupScreen:‘images/tablet.png‘,
	launch:function(){

		Ext.define(‘User‘,{
			extend:‘Ext.data.Model‘,
			config:{
				fields:[
				{name:‘id‘,type:‘string‘},
				{name:‘name‘,type:‘string‘},
				{name:‘img‘,type:‘string‘},
				{name:‘age‘,type:‘string‘},
				{name:‘url‘,type:‘string‘},
				{name:‘email‘,type:‘string‘},
				{name:‘info‘,type:‘string‘}
				]
			}
		});
		var userStore=Ext.create(‘Ext.data.Store‘,{
			model:‘User‘,
			autoLoad:true,
			proxy:{
				type:‘ajax‘,
				url:‘userInfo.json‘,
				reader:{
					type:‘json‘,
					rootProperty:‘users‘
				}
			}
		});

		var userTemplate = new Ext.XTemplate(
				‘<tpl for=".">‘,
				‘<div class="user_img"><img src="{img}" width="50" height="50" />编号:{id}<br/>姓名:{name}<br/>年龄:{age}<br/>主页:{url}<br/>邮件:{email}<br/>个人信息:{info}</div>‘,
				‘</tpl>‘
		);
		var dataview=Ext.create(‘Ext.DataView‘,{
			store:userStore,
			itemTpl:userTemplate,
			listeners:{
        		itemtap:function( ok, index, target, record, e, eOpts){
        			alert(record.get("name"));
    			}
    		}
		});

		Ext.Viewport.add(dataview);
	}
});

index.html文件如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>index.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" type="text/css" href="sencha-touch.css">
    <script type="text/javascript" src="sencha-touch-all-debug.js"></script>
    <script type="text/javascript" src="app.js"></script>
  </head>
  <body>
  </body>
</html>

userInfo.json文件如下:

{
"success":true,
"users":[{
	"id":"1",
	"name":"张三",
	"img":"images/user.jpg",
	"age":"23",
	"url":"http://zahngsan.com",
	"email":"[email protected]",
	"info":"a good boy"
	},{
	"id":"2",
	"name":"李四",
	"img":"images/user.jpg",
	"age":"23",
	"url":"http://lisi.com",
	"email":"[email protected]",
	"info":"a good boy"
	},{
	"id":"3",
	"name":"王五",
	"img":"images/user.jpg",
	"age":"23",
	"url":"http://henghui.com",
	"email":"[email protected]",
	"info":"a good boy"
	},{
	"id":"4",
	"name":"赵六",
	"img":"images/user.jpg",
	"age":"23",
	"url":"http://henghui.com",
	"email":"[email protected]",
	"info":"a good boy"
	},{
	"id":"5",
	"name":"钱七",
	"img":"images/user.jpg",
	"age":"23",
	"url":"http://henghui.com",
	"email":"[email protected]",
	"info":"a good boy"
	}]
}

然后再web.xml中配置好默认首页为index.html。

直接打开index.html或者使用服务器方式访问。

显示如下:

使用Sencha Touch加载本地Json数据,码迷,mamicode.com

时间: 2024-08-08 01:10:29

使用Sencha Touch加载本地Json数据的相关文章

vue2.0配置webpack.dev.conf.js加载本地json数据

打开webpack.dev.conf.js 在const portfinder = require('portfinder')后加入以下配置 1 const express = require('express') 2 const app = express() // 请求server 3 var appData = require('../data.json') //加载本地数据 4 var seller = appData.seller //获取对应的数据 5 var goods = app

使用Sencha Touch加载服务器端数据。

本实例演示了Sencha Touch读取服务器端发来的Json数据. 文档结构如下: app.js代码如下: Ext.require(['Ext.form.Panel', 'Ext.data.Store', 'Ext.dataview.DataView']); Ext.application({ name:'MyApp', icon:'images/icon.png', glossOnIcon:false, phoneStarupScreen:'images/starUp.png', table

Jquery easyUI datagrid加载复杂JSON数据方法

1.JSON数据为: { "rows": [ { "itemNo": "1", "itemName": "12", "spec": "", "pattern": "", "itemCategory": { "id": "A01", "name": &

Android异步加载学习笔记之一:用AsyncTask加载服务器json数据

我们知道在Android开发中,UI主线程不能执行耗时太久的操作,Activity一般是不超过5s,BroadCaseReceiver一般不超过10s,因为这些耗时操作不仅仅阻塞UI线程操作,还可能导致用户不想见到的ANR,所以我们需要使用异步操作. 我们通常用的异步操作有两种方式: 1:多线程或线程池异步加载, 2,AsyncTask异步任务操作(底层也是用的线程池). 数据来源于慕课网:json数据地址:http://www.imooc.com/api/techer?type=4&num=3

vue.js学习笔记(二):如何加载本地json文件

在项目开发的过程中,因为无法和后台的数据做交互,所以我们可以自建一个假数据文件(如data.json)到项目文件夹中,这样我们就可以模仿后台的数据进行开发.但是,如何在一个vue.js 项目中引入本地的json文件呢,下面就将步骤贴出来.(此时项目是由webpack打包而成). 整个项目是由webpack打包而成,具体步骤上网查找.具体项目结构如下: 1:我们找到bulid>dev-server.js,然后打开 2:在里面加入这段代码. var app = express() var appDa

浏览器 chrome 360等 加载本地json 或者xml 文件

添加启动参数 --allow-file-access-from-files 来自为知笔记(Wiz)

Extjs5.1(10):Form加载复杂Json

1.最简单的方式. 如果加载的json数据格式类似于下面这种格式: { "success":true, "data":{ "name":"zhuangweihuang", "age":25, "email":"[email protected]" } } 那么form表单加载起来是最简单的.注意一下这个json格式,首先,必需要的字段是"success&qu

easyui-combobox 动态加载本地数据

<input id="year" class="easyui-combobox" name="year" style="width: 100px;" data-options="valueField:'id',textField:'text'" /> //以年份为例 $(function() { var date = new Date(); var year = date.getFullYear

iOS开发-UIWebView加载本地和网络数据

UIWebView是内置的浏览器控件,可以用它来浏览网页.打开文档,关于浏览网页榜样可以参考UC,手机必备浏览器,至于文档浏览的手机很多图书阅读软件,UIWebView是一个混合体,具体的功能控件内置的,实现一些基本的功能.UIWebView可以查看Html网页,pdf文件,docx文件,txt文件文件,系统自带的Safari就是UIWebView实现的. 基础布局 页面布局很简单就是一个文本框,一个按钮,一个UIWebView,页面布局如下: 如果想简单一点的话,其实用UIWebView也行,