HTML5从入门到精通——Sencha Touch篇(8)
沉沙 2018-06-20 来源 : 阅读 1033 评论 0

摘要:Sencha Touch支持XML和JSON的数据格式。二者虽然数据类型不同,但是在Sencha Touch中的操作都是类似的。希望阅读本篇文章以后大家有所收获,帮助大家对HTML5的理解更加深入。

DataView用于数据展示,我们来看看具体是如何将数据应用于该组件实现可视化的。

    Sencha Touch支持XML和JSON的数据格式。二者虽然数据类型不同,但是在Sencha Touch中的操作都是类似的。我们来以XML举例。

因为之前接触的XML比较少,下面给出XML数据的基本格式:

文件名:bookInfo.xml

<?xml version=”1.0” encoding=”UTF-8”>
<dataset>
<book>
<id>1</id>
<image_url>image/html51.jpg</image_url>
<book_name>HTML5指南</book_name>
<author>Tom</author>
<description>a good book</description>
</book>
//其他类似胜率......
</dataset>

这里我们定义了数据book,每个book都包括id,image_url等属性。

接下来我们使用js代码将xml中的数据展示出来:


 launch:function(){  
 Ext.define(‘BookInfo’,{  
 extend:’Ext.data.Model’,  
 config:{  
 fields:[‘image_url’,’book_name’,’author’,’description’]  
 }  
 });  
 var bookStore = Ext.create(‘Ext.data.Store’,{  
 model:’BookInfo’,  
 autoLoad:true,//将XML中的数据读取到内存中  
 proxy:{  
 type:’ajax’,  
 url:’bookInfo.xml’,  
 reader:{//设定阅读器的类型和记录  
 type:’xml’,  
 record:’book’  
 }  
 }  
 });  
 var bookTemplate = new Ext.XTemplate(  
 ‘<tpl for=”.”>’,  
 ‘<div class=”Book_img”><img src=”{image_url}”/></div>’,  
 ‘<div class=”Book_info”>’,  
 ‘<h2>{book_name}</h2></br><h3>作者:{author}</h3>’  
 ‘<p>{description:ellipsis(40)}</p>’,  
 ‘</div>’  
 ‘</tpl>’  
 );  
 var dataview = Ext.create(‘Ext.DataView’,{  
 store:bookStore,  
 itemTpl:bookTemplate,  
 baseCls:’Book’  
 });  
 Ext.Viewport.add(dataView);  
 }

 

其实以上次的例子相似,只是这个例子中的数据放到了一个xml文件中。首先定义一个数据模型,将所有属性都放到里面。然后以此为模板,建立数据仓库。url指定了装有数据的文件名,type指定了文件中的数据格式类型。其他的操作就和之前的差不多。

JSON数据使用方法相同,只需要改一下type即可。

如果服务器的文件存储在数据库上,我们的操作办法是,将数据库数据利用php等语言取出,之后转换成JSON数据,就可以通过上述方法进行操作。

下面给出php文件,文件名bookInfo.php

 <?  
 $link = mysql_connect(“localhost”,”root”,”root”);  
 mysql_select_db(“mysql”);  
 mysql_query(“SET NAMES UTF8”);  
 $result = mysql_query(“select * from books”,$link);  
 if(!$resul){  
 die(‘{“success”:false,”message”:”读取数据失败”}’);  
 }  
if(mysql_num_rows($result)>0){  
 while($obj = mysql_fetch_object($result)){  
 $arr[]=$obj;  
 }  
 echo ‘{“success”:true,”books”:’.json_encode($arr).’}’;  
 }else{  
 echo ‘{“success”:false,”message”:”读取数据失败”,”books”:””}’;  
 }  
 ?>

该部分代码数据库中的数据取出并转换为json数据,之后bookInfo.php文件其实就相当于之前的bookInfo.json文件,处理方法也与此前相同。

通过这样的方式,我们就方便的实现了数据可视化操作。

 

本文由职坐标整理发布,欢迎关注职坐标WEB前端HTML5/CSS3频道,获取更多WEB前端知识!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程