搜索
首页web前端js教程使Ext的Template可以解析二层的json数据的方法_json

Ext的Template支持通过传入json数据的方式进行模板替换。
API中有这样一段示例:

复制代码 代码如下:

var t = new Ext.Template( 
    '
', 
        '{name:trim} {value:ellipsis(10)}', 
    '

); 
t.append('some-element', {id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'}); 



稍作修改做个测试:

复制代码 代码如下:

var t = new Ext.Template( 
    '
', 
        '{name} {value}', 
    '

); 
var dt=t.apply({id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'}); 
alert(dt); 


运行上面的代码会弹出
foo bar
说明替换成功。

但如果又这样一个模板数据:

复制代码 代码如下:

{id: 'myid', cls:{o:'myclass'}, name: 'foo', value: 'bar'} 



我们想在替换时将模板中原cls部分替换为cls.o的值,也就是myclass,该怎么做呢?是不是想直接用{cls.o},你可以试下,绝对无效,没有替换。因为template匹配替换是直接对{}中冒号前的字符串与JSON变量进行匹配的。当然找不到cls.o这个串所以也就不能匹配。
好在Template支持对数据的解析处理。
我们可以自己定义一个解析函数即可。其实很简单:


复制代码 代码如下:

var t = new Ext.Template( 
    '
', 
        '{name} {value}', 
    '

); 
t.parseJSON=function(data){return data.o}; 
var dt=t.apply({id: 'myid', cls: {o:'myclass'}, name: 'foo', value: 'bar'}); 
alert(dt) 



我们定义了一个叫parseJSON的解析方法,在模板中访问顶层的cls然后对cls(是一个object)的值进行处理(直接访问它的o属性)即可。
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
深入探讨Linux ext2文件系统的物理存储结构深入探讨Linux ext2文件系统的物理存储结构Mar 14, 2024 pm 09:06 PM

Linuxext2文件系统是一种在大部分Linux操作系统上使用的文件系统,它采用了一种高效的磁盘存储结构来管理文件和目录的存储。在深入探讨Linuxext2文件系统的物理存储结构之前,我们首先需要了解一些基本概念。在ext2文件系统中,数据存储在数据块(block)中,数据块是文件系统中最小的可分配单位。每个数据块有固定的大小,通常为1KB、2KB或4

深入解析JWT(JSON Web Token)的原理及用法深入解析JWT(JSON Web Token)的原理及用法Jan 10, 2023 am 10:55 AM

本篇文章给大家带来了关于JWT的相关知识,其中主要介绍了什么是JWT?JWT的原理以及用法是什么?感兴趣的朋友,下面一起来看一下吧,希望对大家有帮助。

php输出json无法解析的原因和解决方法【总结】php输出json无法解析的原因和解决方法【总结】Mar 23, 2023 pm 04:35 PM

PHP作为一种常见的编程语言,在web开发中使用广泛,其与前端交互的方式也多种多样。其中,输出Json数据是一种常见的交互方式,但有时候会碰到Json无法解析的问题。为什么会出现无法解析的情况呢?下面列举了几个可能的原因。

php如何将xml转为json格式?3种方法分享php如何将xml转为json格式?3种方法分享Mar 22, 2023 am 10:38 AM

当我们处理数据时经常会遇到将XML格式转换为JSON格式的需求。PHP有许多内置函数可以帮助我们执行这个操作。在本文中,我们将讨论将XML格式转换为JSON格式的不同方法。

聊聊怎么使用Node将Excel转为JSON聊聊怎么使用Node将Excel转为JSONNov 28, 2022 pm 08:02 PM

怎么使用Node将Excel转为JSON?下面本篇文章给大家介绍一下Node中转换Excel成JSON的方法,希望对大家有所帮助!

如何解决 golang 中的 "undefined: template.Must" 错误?如何解决 golang 中的 "undefined: template.Must" 错误?Jun 24, 2023 pm 09:00 PM

Go语言是一种越来越受欢迎的编程语言,它的语法简洁,性能高效,易于开发。Go语言中提供了强大的模板引擎——"text/template",但是在使用时,有些人可能会遇到"undefined:template.Must"的错误,下面是解决该错误的方法。导入正确的包在使用"text/template"模板引擎时,需要导入"text/templat

Golang和Template包:创建个性化的用户界面Golang和Template包:创建个性化的用户界面Jul 18, 2023 am 10:27 AM

Golang和Template包:创建个性化的用户界面在现代的软件开发中,用户界面往往是用户与软件进行互动的最直接的途径。为了提供一个好用、美观的用户界面,开发者需要灵活的工具来创建和定制用户界面。而在Golang中,开发者可以使用Template包来实现这一目标。本文将介绍Golang和Template包的基本用法,并通过代码示例展示如何创建个性化的用户界

php怎么将json转化为数组?php怎么将json转化为数组?Jul 23, 2020 pm 04:06 PM

在php中,可以使用json_decode()函数来将json格式数据转化为数组。json_decode()函数可以把json字符串转成对象或数组,默认转成对象;指定第二个参数为一个布尔值true,这样JSON值将被解码为关联数组。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境