JsRender for object语法简介
本文简要讲述了JsRender for object的基本语法。分享给大家供大家参考。具体如下:
JsRender 作为一款JavaScript模版引擎,必不可少的会有循环功能,也就是for,但由于JsRender过于灵活,for竟然可以接受object作为循环对象。
{{for Array}}和{{for Object}}都是允许的,{{for Array}}大家都能理解,就是遍历一个数组,逐个取出每个元素。但{{for Object}}就有点让人匪夷所思了,而且官方文档只是举了个没什么帮助的例子,其他无任何说明。
刚开始小菜以为{{for Object}}的用意是遍历该Object的所有属性,但仔细一想,这个功能{{props Object}}已经实现了,props标签的作用就是遍历Object所有属性,有多少个属性,就循环多少次,每次循环都会有两个隐藏的属性:key,prop,key代表属性名,prop代表属性值,用起来非常方便。
实际上,{{for Object}}并不是循环,它可以理解成进入(Into),也就是说进入到Object环境中,把当前的上下文设置为Object,类似于Handlebars.js中的with。
举个例子:
data:
{
"title": "The A team",
"members": [
{
"name": "Pete",
"city": "members_city",
"address": {
"city": "address_city",
"city1": "address_city1",
"city2": "address_city2"
}
}
]
}
template markup:
{{for members}}
{{for address}}
<p>.{{:city}}</p>
{{/for}}
{{/for}}
result:
address_city
从结果可以看出,虽然members的item下也有city属性,但由于通过{{for address}}进入到了address指向的Object中,{{:city}}直接从address中获取了。
同时,address有三个属性,但结果只输出了一行,证明{{for Object}}是不会循环的,仅仅是切换一下this。
希望本文所述对大家JsRender程序设计的学习有所帮助。
相关推荐
-
asp.net使用jquery模板引擎jtemplates呈现表格
在Asp.net MVC 中,使得我们能够更加自由控制我们所想显示HTML.通常情况下,都要做一下数据列表.那么我们可以手动去拼一个表格出来,但这样有时对于复杂的表格说,那就JS代码比较复杂了.我们可以借助JS下的模板引擎,来实现这一功能.下面要介绍就是JTemplates,它也是基于Jquery的. 复制代码 代码如下: <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %><!D
-
JsRender for index循环索引用法详解
本文实例讲述了JsRender for index循环索引用.分享给大家供大家参考.具体分析如下: JsRedner和JsViews(JsViews是再JsRender基础上的进一步封装)被称为下一代的Jquery模板,官方地址: https://github.com/BorisMoore/jsrender; https://github.com/BorisMoore/jsviews. 循环是模版引擎必不可少的一部分,而说起循环,会引出一个至关重要的因素:索引. 所谓索引,即循环次数,通过索引,
-
基于jQuery的JavaScript模版引擎JsRender使用指南
前言 JsRender是一款基于jQuery的JavaScript模版引擎,它具有如下特点: · 简单直观 · 功能强大 · 可扩展的 · 快如闪电 这些特性看起来很厉害,但几乎每个模版引擎,都会这么宣传... 由于工作需要,小菜才接触到此款模版引擎.使用了一段时间,发现它确实比较强大,但小菜觉得有些地方强大的过头了,反倒让人觉得很难理解. 另一方面,JsRender的官方文档比较详细,但其他资料出奇的少,遇到点什么问题,基本搜不到,不仅仅是相关问题搜不到,几乎就是没有结果. 再加上Js
-
JsRender实用入门教程
本文是一篇JsRender的实用入门教程,实例讲述了tag else使用.循环嵌套访问父级数据等知识点.分享给大家供大家参考.具体如下: 前言 JsRender是一款基于jQuery的JavaScript模版引擎,它具有如下特点: · 简单直观 · 功能强大 · 可扩展的 · 快如闪电 这些特性看起来很厉害,但几乎每个模版引擎,都会这么宣传... 由于工作需要,小菜才接触到此款模版引擎.使用了一段时间,发现它确实比较强大,但小菜觉得有些地方强大的过头了,反倒让人觉得很难理解. 另一方面,
-
JsRender for object语法简介
本文简要讲述了JsRender for object的基本语法.分享给大家供大家参考.具体如下: JsRender 作为一款JavaScript模版引擎,必不可少的会有循环功能,也就是for,但由于JsRender过于灵活,for竟然可以接受object作为循环对象. {{for Array}}和{{for Object}}都是允许的,{{for Array}}大家都能理解,就是遍历一个数组,逐个取出每个元素.但{{for Object}}就有点让人匪夷所思了,而且官方文档只是举了个没什么帮
-
SixSix翻译的XAML教程 语法简介
[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.] XAML 语法简介 本文介绍了如何使用几种不同的方法在XAML中创建对象和设置他们的属性. 主题包括以下几个部分: 什么是XAML? 声明对象 设置属性 其他相关主题 什么是XAML XAML是一种陈述性语言.你可以使用XAML标
-
C#基本语法简介
目录 一.基础语法 二.变量 三.常量 四.CTS类型 五.枚举 六.名称空间 七.Main()方法 1.多个Main()方法 2.给Main()方法传递参数 八.C#预处理器指令 1.#define和#undef 2.#if,#elif(=else if),#else和#endif 3.#warning, #error 4.#region和#endregion 5.#pragma 一.基础语法 1.C#区分大小写,所以myVar和MyVar是两个不同的变量.2.每个C#可执行文件(如控制台应用
-
PHP中的替代语法简介
替代语法是PHP程序设计中不常见到,有时却又很重要的一个概念.今天本文就以实例形式展示了这一概念的用法. 查看一下wordpress的代码,里面可以见到有些少见的php替代语法,如下所示: <?php else : ?> <div class="entry-content"> <?php the_content( __( 'Continue reading <span class="meta-nav">→</span&
-
Python程序设计入门(1)基本语法简介
Python是当今日趋流行的一种脚本语言,它比Java更简单,比php更强大,并且还适用于做桌面应用的开发,在ubuntu中,更加是必须的一种脚本引擎,所以有必要去学习一下,这里的文章只针对有一定编程基础,最好是比较熟悉php或javascript的用户,如果没任何基础的新手建议找更详细的教程去学习. Python的变量是不需要定义的,这方面和php一样,它比javascript还是宽松,不过它是用缩进作为段落标识的,作为习惯了C语言风格语法的人,可能一开始会很不习惯使用,但细一想,其实也是很正
-
ASP.NET中的Razor语法简介
目录 一.Razor 语法 1. Razor C# 语法规则 2.Razor的作用域 3.Razor和Html混合编写 4.变量 5.数据类型 6.转换数据类型(string类型才能转) 7.循环 8.数组 9.逻辑条件 二.Razor引擎 1.布局(Layout)(@RenderBody()方法) 2.页面(@RenderPage()方法) 3.Section区域(@RenderSection()) 三.Razor 帮助器 自定义Helper Razor 不是一种编程语言.它是服务器端的标记语
-
Java 语言中Object 类和System 类详解
Object是java所有类的基类,是整个类继承结构的顶端,也是最抽象的一个类.大家天天都在使用toString().equals().hashCode().waite().notify().getClass()等方法,或许都没有意识到是Object的方法,也没有去看Object还有哪些方法以及思考为什么这些方法要放到Object中. 一.Java Object类简介-所有类的超类 Object 是 Java 类库中的一个特殊类,也是所有类的父类.也就是说,J ava 允许把任何类型的对象赋给
-
Perl语法之解析Perl变量使用
本文和大家重点讨论一下Perl语法中Perl变量的概念,Perl变量分为标量变量,数组变量,联系关系数组变量3类.Perl的变量对巨细写敏感,好比:An,AN,an是3个分歧的变量,可是分歧范例的变量可以利用统一个名字. Perl语法简介 1.Perl变量 1.1.Perl语法中Perl变量分类 Perl变量分为标量变量,数组变量,联系关系数组变量3类.Perl的变量对巨细写敏感,好比:An,AN,an是3个分歧的变量,可是分歧范例的变量可以利用统一个名字,好比:VAR可所以一个标量变量,同时也
-
Kotlin 和 Java 混合开发入门教程
目录 一.前沿 二.学习 Kotlin 前准备 三.Kotlin 语法简介 优秀的表达式 加强版 switch 模板字符串 空指针异常不存在了 编写单例类 扩展方法 运算符重载 四.Kotlin 与 Java 混合开发 五.Kotlin 与 Java 总结 一.前沿 如果你学习过其他的编程语言,你就会发现 Java 的语法很是哆嗦,可是我们为什么没有放弃 Java 这门编程语言呢?因为 JVM 是一个非常好的平台,而且 Java 程序员目前在中国所占的比重实在是太高了.这是历史包袱导致的.暂且不
-
ASP.NET性能优化小结(ASP.NET&C#)
ASP.NET: 一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的系统具有扩展性,也可以减少数据库服务器响应请求的工作量. 如果用动态的SQL语句来返回多个数据集,那用存储过程来替代动态的SQL语句会更好些.是否把业务逻辑写到存储过程中,这个有点争议.但是我认为,把业务逻辑写到存储过程里面可以限制返回结果集的大小,减小网络数据的流量,在逻辑层也不
随机推荐
- Linux下安装或升级Python 2.7的操作方法
- 微信小程序下载工具及调试详解
- IIS FTP 出现 530 User cannot log in, home Directory Inaccessible 错误处理方法
- 5个可能被你忽略的Linux安全设置方法
- Java游戏俄罗斯方块的实现实例
- Python Sql数据库增删改查操作简单封装
- 剖析Python的Twisted框架的核心特性
- js自动生成对象的属性示例代码
- ASP分页时计算页面总数的几种算法小结
- 一个加载js文件的小脚本
- js编写三级联动简单案例
- asp.net 上传大文件解决方案
- jquery实现图片等比例缩放以及max-width在ie中不兼容解决
- JS验证input输入框(字母,数字,符号,中文)
- EditPlus中的字体设置
- 详解基于Spring Boot/Spring Session/Redis的分布式Session共享解决方案
- 中小企业突破4200万户 企业邮箱仅有10%
- 用python建立两个Y轴的XY曲线图方法
- python求加权平均值的实例(附纯python写法)
- Java使用同步方法解决银行取钱的安全问题案例分析