Метеор - Пламя
Blaze - это пакет Meteor для создания живых реактивных шаблонов.
Метод рендеринга
Этот метод используется для рендеринга шаблонов в DOM. Сначала мы создадимmyNewTemplateчто будет отображаться. Мы также добавимmyContainer, который будет использоваться как родительский элемент, поэтому render знает, где отобразить наш шаблон.
meteorApp.html
<head>
<title>meteorApp</title>
</head>
<body>
<div id = "myContainer">
</div>
</body>
<template name = "myNewTemplate">
<p>Text from my new template...</p>
</template>
Затем мы создадим функцию рендеринга, которая будет принимать два аргумента. Первый - это шаблон, который будет отображаться, а второй - родительский элемент, о котором мы упоминали выше.
meteorApp.js
Meteor.startup(function () {
if(Meteor.isClient) {
var myNewTemplate = Template.myNewTemplate;
var myContainer = document.getElementById('myContainer');
Blaze.render(myNewTemplate, myContainer);
}
});

Рендеринг с данными
Если вам нужно передать некоторые данные в ответ, вы можете использовать renderWithDataметод. HTML будет точно таким же, как в предыдущем примере.
meteorApp.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.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.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.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);
}
});
В следующей таблице показаны другие методы, которые можно использовать.
Sr.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) Используется для возврата истины, если значение является объектом шаблона. |