`
53873039oycg
  • 浏览: 843892 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[简单]Handlebars简单例子

 
阅读更多

       Handlebars官网链接:http://handlebarsjs.com/,下面是一个简单的例子,欢迎吐槽.

      

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Handlebars Expressions Example</title>
<script type="text/javascript" src="../js/jquery-2.1.0.js"></script>
<script type="text/javascript" src="../js/handlebars-v1.3.0.js"></script>
<script id="people-template" type="text/x-handlebars-template">
       {{#each people}}
        <div>
          <div>{{diyName first_name last_name email}}</div>
          <div>{{isHasPhone phone}}</div>
          <div><a href="mailto:{{email}}">{{email}}</a></div>
          <div>User since: {{member_since}}</div><br/>
        </div>
      {{/each}}
    </script>

<script type="text/javascript">
	$(document).ready(function() {
		Handlebars.registerHelper("isHasPhone", function(txt,fn) {
			var strVar = "";
			if($.trim(txt)!=''&&$.trim(txt)!='NULL'){
				strVar = '<span>联系电话:'+txt+'</span>';
			}else {
				strVar = '<span>暂无联系方式</span>';
			}
			return new Handlebars.SafeString(strVar);
		});
		Handlebars.registerHelper("diyName", function(var1,var2,var3,fn) {
			var strVar = "";
			if($.trim(var3)==''){
				strVar = '<span>'+var1+' '+var2+'</span>';
			}else{
				strVar = '<a href="mailto:'+var3+'">'+var1+' '+var2+'</a>';
			}
			return new Handlebars.SafeString(strVar);
		});
		// compile our template
		var template = Handlebars.compile($("#people-template").html());
		var data = {
			people : [ {
				first_name : "中文",
				last_name : "测试",
				phone : "1234567890",
				email : "alan@test.com",
				member_since : "2014-4-11"
			}, {
				first_name : "Allison",
				last_name : "House",
				phone : " ",
				email : "allison@test.com",
				member_since : "2014-5-12"
			} , {
				first_name : "测试",
				last_name : "House",
				phone : "NULL",
				email : "allison@test.com",
				member_since : "2014-6-11"
			}, {
				first_name : "无链接",
				last_name : "test",
				phone : "NULL",
				email : " ",
				member_since : "2014-6-1"
			} ]
		};
		$('#test').html(template(data));
	});
</script>
</head>
<body>
	<h1>Handlebars Expressions Example!</h1>
	<!--this is a list which will rendered by handlebars template.    -->
	<div id="test"></div>
</body>
</html>

    结果为

   

      全文完

 

  • 大小: 47.6 KB
0
1
分享到:
评论

相关推荐

    handlebars入门教程

    Handlebars 的基本语法非常简单。它使用双括号 `{{ }}` 来包围变量名,以便将数据渲染到模板中。例如: ``` &lt;div&gt;{{name}} ``` 在上面的例子中,`name` 是一个变量,它将被渲染到 HTML 元素中。 Handlebar 的...

    前端开源库-handlebars-delimiters

    在这个例子中,我们改变了Handlebars的定界符为 `{% %}`,并编译了一个简单的条件模板。这样,即使模板中包含原生的 `{{ }}`,也不会与Handlebars的语法产生冲突。 除了基本的替换定界符功能,`handlebars-...

    handlebars-stream:通过带有把手模板渲染对象的流

    超级简单的例子 var handlebars = require ( 'handlebars-stream' ) ; var strm = handlebars ( 'hello {{data}}' ) ; strm . on ( 'data' , function ( result ) { console . log ( result ) ; // outputs 'hello...

    handlebars-ex:像把手一样简单的解析器

    例子 var handlebarsX = require ( 'handlebars-ex' ) ; var ast = handlebarsX . parse ( '&lt;div&gt;{{#if cond}}&lt;hr&gt; {{/if}}&lt;/div&gt;' ) ; 测验 所有测试均以茉莉花书写。 要运行它们: npm test 局限性 重要的是要...

    Go-raymond-一个Go实现的完整Handlebars(模板系统)

    在这个例子中,`{{name}}`是Handlebars的占位符,`name`对应于数据映射中的键。`raymond.Parse`用于解析模板字符串,`Exec`则将解析后的模板与数据结合,生成最终的输出。 Go-raymond支持多种Handlebars的高级特性...

    node-stachio:将必须执行的模板(Handlebars.js)渲染为HTML

    以下是一个简单的例子: ```javascript // 示例数据 const data = { title: 'Hello, World!', content: '欢迎来到我的网站!' }; // 渲染模板 const htmlOutput = template(data); console.log(htmlOutput); //...

    handlebars-markdown-helper:防锈车把的帮手,提供降价解析器

    可为任何文件类型提供简单的模板。 此板条箱提供了一个帮助器,用于将包含markdown的变量呈现到temlpate中HTML中。 例子 extern crate handlebars_markdown_helper; use handlebars_markdown_helper; let mut ...

    handlebars-demo:HandleBars JS(JavaScript 模板)的分步演练

    通过阅读和运行这些例子,你可以更好地理解如何在实际项目中使用 HandleBars。 10. **学习资源** 要深入学习 HandleBars,可以访问其官方文档(https://handlebarsjs.com/),那里有详细的API参考和使用示例。此外...

    broadway-handlebars:百老汇的车把渲染插件

    一个简单的例子可能包括创建一个模板来显示用户信息: ```handlebars &lt;h1&gt;{{name}} 年龄: {{age}} 邮箱: {{email}} ``` 在百老汇应用中,你可以这样使用这个模板: ```javascript import { render } from '...

    简单的前端模板引擎能实现最基本的数据渲染

    这个简单的例子中,`simpleTemplateEngine`函数接收一个模板字符串和一个数据对象,然后用数据中的值替换模板中的`{{ }}`包裹的占位符。 在实际应用中,前端模板引擎通常会更复杂,包括支持条件语句、循环、函数...

    express例子,用于提供接口

    项目中的"express_test"可能包含了用于测试API的示例代码,例如创建一个简单的CRUD(创建、读取、更新、删除)接口。通过这些接口,开发者可以了解如何在Express中定义接口,处理数据,以及如何使用像MongoDB这样的...

    node-auth-handlebars:使用 express、基本身份验证和把手模板进行渲染的节点示例

    在这个例子中,我们使用了Handlebars模板引擎来渲染视图。Handlebars是一种声明式模板语言,允许开发者通过简单的语法来生成动态HTML。例如,我们可以创建一个`index.hbs`模板文件,其中包含登录表单: ```html &lt;!...

    jquery.tmpl.js使用例子

    在这个例子中,`{{each}}`是一个循环控制结构,`items`是数据对象的一个属性,`${name}`是数据对象中`name`属性的值。当模板与数据结合时,它会遍历`items`数组,为每个元素生成一个`&lt;li&gt;`标签。 接下来,我们需要...

    node express 框架 demo 例子 示例工程 好学 好用

    在这个例子中,当用户访问 `/hello` 路径时,服务器会返回 "Hello World!"。 **四、中间件的使用** Express 中间件可以用于日志记录、身份验证、错误处理等。例如,定义一个简单的中间件记录请求: ```javascript ...

    Javascript最简单的模板引擎

    在这个例子中,`&lt;%= %&gt;`用于输出变量,而`&lt;% %&gt;`则用于执行JavaScript代码。当传入一个包含`title`、`user`和`items`的对象到这个模板时,它会生成相应的HTML。 模板引擎的核心功能包括: 1. **变量插值**:替换...

    templateEngine.zip

    在这个例子中,`{{#each}}`是Handlebars的循环助手,用于遍历`users`数组,并显示每个用户的`name`和`email`。 五、Vue.js中的模板引擎 Vue.js自身内置了模板引擎,其模板语法与HTML非常接近,允许开发者直接在HTML...

    ember.js 简单的实例

    这个例子展示了 Ember.js 如何通过模型、路由、控制器和模板来组织代码,并利用组件实现用户界面的复用。随着对 Ember.js 框架理解的深入,你可以构建更复杂的应用,利用其丰富的生态系统,如 Ember Octane 版本带来...

    模版引擎 例子

    2. **客户端模版引擎**:如JavaScript的Handlebars、Mustache等,它们在用户的浏览器中运行,利用Ajax等技术获取数据并动态更新页面。这种方式降低了服务器压力,但可能增加首屏加载时间。 3. **混合型模版引擎**:...

    metalsmith-dev:Metalsmith的简单开发助手

    冶金匠开发简单开发助手。安装npm install metalsmith-dev例子var Metalsmith = require("metalsmith");var markdown = require("metalsmith-markdown");var templates = require("metalsmith-templates");var dev =...

    探索Emberjs制作一个简单的Todo应用

    在本教程中,我们将使用Ember.js创建一个简单的Todo应用。 1. **Ember.Application**: Ember.js 应用的核心是 `Ember.Application`,它是整个应用的起点。在HTML中,我们通过 `Ember.Application.create()` 创建一...

Global site tag (gtag.js) - Google Analytics