Meteor Blaze
这种方法被用于绘制模板到DOM。首先,我们将创建 myNewTemplate 之后渲染。 我们增加 myContainer 这将用来作为父元素的容器,所以render方法知道在何处呈现我们的模板。
meteorApp/client/app.html
<head>
<title>meteorApp</title>
</head> <body>
<div id = "myContainer">
</div>
</body> <template name = "myNewTemplate">
<p>Text from my new template...</p>
</template>
下一步,我们将创建渲染功能这将需要两个参数。第一个是将要渲染的模板,第二个是,我们上面提到的父元素。
meteorApp/client/app.js
Meteor.startup(function () {
if(Meteor.isClient) {
var myNewTemplate = Template.myNewTemplate;
var myContainer = document.getElementById('myContainer');
Blaze.render(myNewTemplate, myContainer);
}
});


如果需要被动地传递一些数据,你可以使用 renderWithData 方法。 HTML和前面的例子完全相同。
meteorApp/client/app.html
<head>
<title>meteorApp</title>
</head> <body>
<div id = "myContainer">
</div>
</body> <template name = "myNewTemplate">
<p>Text from my new template...</p>
</template>
我们可以在Meteor.renderWithData方法的第二个参数添加数据。其它两个参数和之前的实例相同,在这个例子中我们的数据将用于记录一些文本的功能。
meteorApp/client/app.js
Meteor.startup(function () {
if(Meteor.isClient) {
var myNewTemplate = Template.myNewTemplate;
var myData = function() {
console.log('Log from the data object...')
}
var myContainer = document.getElementById('myContainer');
Blaze.renderWithData(myNewTemplate, myData, myContainer);
}
});


我们可以添加 remove
meteorApp/client/app.html
<head>
<title>meteorApp</title>
</head> <body>
<div id = "myContainer">
</div>
</body> <template name = "myNewTemplate">
<p>Text from my new template...</p>
</template>
在这个例子中,我们将在三秒钟后移除模板。请注意,我们使用 Blaze.Remove方法 除去模板。
meteorApp/client/app.js
Meteor.startup(function () {
if(Meteor.isClient) {
var myNewTemplate = Template.myNewTemplate;
var myContainer = document.getElementById('myContainer');
var myRenderedTemplate = Blaze.render(myNewTemplate, myContainer);
Meteor.setTimeout(function() {
Blaze.remove(myRenderedTemplate);}, 3000);
}
});
| S.No. |
方法与细则
|
|---|---|
| 1 |
Blaze.getData([elementOrView]) 用于从渲染元素检索数据。
|
| 2 |
Blaze.toHTML(templateOrView) 用于渲染模板或视图字符串。
|
| 3 |
Blaze.toHTMLWithData(templateOrView, data) 用于渲染模板或视图字符串附加数据。
|
| 4 |
new Blaze.View([name], renderFunction) 用于创建新 Blaze 反应性的DOM部分。 |
| 5 |
Blaze.currentView 用于获取当前视图。
|
| 6 |
Blaze.getView([element]) 用于获取当前视图。
|
| 7 |
Blaze.With(data, contentFunc) 用于构造呈现一些内容与上下文的视图。
|
| 8 |
Blaze.If(conditionFunc, contentFunc, [elseFunc]) 用于构造呈现一些有条件的内容的视图。
|
| 9 |
Blaze.Unless(conditionFunc, contentFunc, [elseFunc]) 用于构造呈现一些有条件的内容(反转Blaze.if)的视图。
|
| 10 |
Blaze.Each(argFunc, contentFunc, [elseFunc]) 用于构建为每个项目呈现 contentFunct 的视图。 |
| 11 |
new Blaze.Template([viewName], renderFunction) 使用名称和内容构建新的Blaze视图。
|
| 12 |
Blaze.isTemplate(value) 如果值是一个模板对象则返回true。
|
Meteor Blaze的更多相关文章
- Using View and Data API with Meteor
By Daniel Du I have been studying Meteor these days, and find that Meteor is really a mind-blowing f ...
- 示例开发过程记录:meteor,react,apollo
本示例记录一个开发过程: 1)参考 Meteor React TUTORIAL教程 https://www.meteor.com/tutorials/react/creating-an-app 2). ...
- 网站开发只需数小时?Meteor 说这才是未来
原文: http://www.geekpark.net/topics/211573/ 那个想要挑战过去数十年沿用至今的网站开发模式的新势力来了. Meteor 是从 YC 孵化而出的现代网站开发平台, ...
- 【译】Meteor 新手教程:在排行榜上添加新特性
原文:http://danneu.com/posts/6-meteor-tutorial-for-fellow-noobs-adding-features-to-the-leaderboard-dem ...
- POJ 3669 Meteor Shower【BFS】
POJ 3669 去看流星雨,不料流星掉下来会砸毁上下左右中五个点.每个流星掉下的位置和时间都不同,求能否活命,如果能活命,最短的逃跑时间是多少? 思路:对流星雨排序,然后将地图的每个点的值设为该点最 ...
- 如何在Meteor中使用npm模块?
首先,请在AtmosphereJs上搜索有无相关的封装包.尽量采用已有的封装包,而不是自己封装. 有两种方法在项目中使用来自npm的模块. 封装为Meteor包并在项目中添加包.使用meteor cr ...
- windows下Meteor+AngularJS开发的坑
有复杂的地方我再开贴记录,这里只记录容易解决的坑. 1. windows下手工增加smart package.直接将下载下来的包扔到meteor package中.记得将文件夹名字改得和smart.j ...
- Meteor + node-imap(nodejs) + mailparser(nodejs) 实现完整收发邮件
版本信息: Meteor:windows MIS安装 0.6.4 node-imap:npm指定的0.8.0版,不是默认的0.7.x版. mailparser:npm安装0.3.6 以下是记录踩到的 ...
- 手工给Meteor增加smart package的方法
windows下无法装mrt(Meteor的包管理工具).不过还好smart package本身也就只是一个文件夹而已,不需要在Meteor中注册什么东西.所以直接把smart package扔到me ...
随机推荐
- how to use Hexo
Hexo is a good tool to build a personal blog.Here are some good reference:1: https://hexo.io/zh-cn/d ...
- 最短路 || POJ 2387 Til the Cows Come Home
从点N到1的最短路 *记得无向图两个方向都要建边就好了…… 以及多组数据= = #include <iostream> #include <cstdio> #include & ...
- spring boot 在idea中实现热部署
1)在pom中直接引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifac ...
- python+Eclipse+pydev环境搭建1
编辑器: Eclipse + pydev插件 1. Eclipse是写JAVA的IDE, 这样就可以通用了,学习代价小. 学会了Eclipse, 以后写Python或者JAVA 都可以. 2. Ec ...
- mysql中ibatis的limit动态传参
param.put("pageNo",pageNo); param.put("pageSize",pageSize); sqlMap中的用法 limit $ ...
- 【分享】 封装js操作textarea 方法集合(兼容很好)。
请使用下面的btn操作. 虽然你现在看来没什么用,当要用的时候又到处找资料,还不如现在收集一下. 在DOM里面操作textarea里面的字符,是比较麻烦的. 于是我有这个封装分享给大家 ...
- 客户端和服务器最多能发送和接收多少TCP连接数?
1. 对于服务器,每一个tcp连接都要占一个文件描述符,一旦这个文件描述符使用完了,就会返回错误. 我们知道操作系统上端口号1024以下是系统保留的,从1024-65535是用户使用的.由于每个TCP ...
- mysql多源复制安装
多源复制的意思是多主一从. 多源复制的前提是必须要开启GTID模式. master1 :192.168.1.110 master2 :192.168.1.111 slave :192.168.1.15 ...
- (7) 将tomcat HTTP连接器启动在80端口(jsvc使用详解)
让tomcat在80端口上运行 法一: 修改连接器的端口8080为80 <Connector port="8080" protocol="HTTP/1.1" ...
- 实现验证的vsftpd虚拟用户
实现基于文件验证的vsftpd虚拟用户--(一台) 一.创建用户数据库文件 vim /etc/vsftpd/vuser cd /etc/vsftpd/ db_load -T -t hash -f vu ...