📜  Meteor-大火

📅  最后修改于: 2020-12-08 05:23:24             🧑  作者: Mango


Blaze是用于构建实时反应模板的Meteor软件包。

渲染方法

此方法用于将模板呈现到DOM中。首先,我们将创建将要渲染的myNewTemplate 。我们还将添加myContainer ,它将用作父元素,因此render方法知道在哪里渲染模板。

meteorApp.html

meteorApp

 

   

接下来,我们将创建一个带有两个参数的render函数。第一个是将要呈现的模板,第二个是我们上面提到的父元素。

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

meteorApp

 

   

我们可以在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);
   }
});

流星火焰渲染与数据

删除方法

我们可以添加删除方法。

meteorApp.html

meteorApp

 

   

在此示例中,我们呈现了将在三秒钟后删除的模板。请注意我们用于删除模板的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. Method & Details
1

Blaze.getData([elementOrView])

Used for retrieving data from the rendering element.

2

Blaze.toHTML(templateOrView)

Used for rendering templates or views to the string.

3

Blaze.toHTMLWithData(templateOrView, data)

Used for rendering templates or views to the string with additional data.

4

new Blaze.View([name], renderFunction)

Used for creating a new Blaze reactive part of the DOM.

5

Blaze.currentView

Used for getting the current view.

6

Blaze.getView([element])

Used for getting the current view.

7

Blaze.With(data, contentFunc)

Used for constructing a view that renders some content with context.

8

Blaze.If(conditionFunc, contentFunc, [elseFunc])

Used for constructing a view that renders some conditional content.

9

Blaze.Unless(conditionFunc, contentFunc, [elseFunc])

Used for constructing a view that renders some conditional content (inverted Blaze.if).

10

Blaze.Each(argFunc, contentFunc, [elseFunc])

Used for constructing a view that renders contentFunct for every item.

11

new Blaze.Template([viewName], renderFunction)

Used for constructing a new Blaze view with name and content.

12

Blaze.isTemplate(value)

Used for returning true, if the value is a template object.