- 流星教程
- 流星 - 主页
- 流星 - 概述
- Meteor - 环境设置
- Meteor - 首次应用
- 流星 - 模板
- 流星 - 收藏
- 流星 - 形式
- 流星 - 活动
- 流星 - 会话
- 流星 - 追踪器
- 流星 - 套餐
- Meteor - 核心 API
- 流星 - 检查
- 流星 - 烈焰
- Meteor - 计时器
- 流星-EJSON
- 流星 - HTTP
- 流星 - 电子邮件
- 流星 - 资产
- 流星 - 安全
- 流星 - 排序
- 流星 - 账户
- Meteor - 方法
- 流星-Package.js
- Meteor - 发布和订阅
- 流星 - 结构
- 流星 - 部署
- Meteor - 在移动设备上运行
- 流星 - 待办事项应用程序
- Meteor - 最佳实践
- 流星有用资源
- 流星 - 快速指南
- 流星 - 有用的资源
- 流星 - 讨论
流星 - 烈焰
Blaze 是一个用于构建实时反应模板的 Meteor 包。
渲染方法
此方法用于将模板渲染到 DOM 中。首先,我们将创建要渲染的myNewTemplate 。我们还将添加myContainer,它将用作父元素,因此render方法知道在哪里渲染我们的模板。
流星App.html
<head> <title>meteorApp</title> </head> <body> <div id = "myContainer"> </div> </body> <template name = "myNewTemplate"> <p>Text from my new template...</p> </template>
接下来,我们将创建一个带有两个参数的渲染函数。第一个是将要渲染的模板,第二个是我们上面提到的父元素。
流星App.js
Meteor.startup(function () { if(Meteor.isClient) { var myNewTemplate = Template.myNewTemplate; var myContainer = document.getElementById('myContainer'); Blaze.render(myNewTemplate, myContainer); } });
使用数据渲染
如果您需要反应式传递一些数据,可以使用renderWithData方法。HTML 将与前面的示例完全相同。
流星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方法中的第二个参数。其他两个参数与前面的示例相同。在此示例中,我们的数据是一个将记录一些文本的函数。
流星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); } });
删除方法
我们可以添加删除方法。
流星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方法。
流星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); } });
下表显示了可以使用的其他方法。
先生。 | 方法及详情 |
---|---|
1 | Blaze.getData([elementOrView]) 用于从渲染元素检索数据。 |
2 | Blaze.toHTML(templateOrView) 用于将模板或视图渲染到字符串。 |
3 | Blaze.toHTMLWithData(templateOrView, 数据) 用于将模板或视图渲染到带有附加数据的字符串。 |
4 | new Blaze.View([名称], renderFunction) 用于创建 DOM 的新 Blaze 反应部分。 |
5 | Blaze.currentView 用于获取当前视图。 |
6 | Blaze.getView([元素]) 用于获取当前视图。 |
7 | Blaze.With(数据, 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(值) 如果值是模板对象,则用于返回 true。 |