簡體   English   中英

流星渲染從javascript加載模板

[英]Meteor render loading template from javascript

我的問題很簡單,但是我沒有找到確切的答案。

<template name="loading">
//loading spineer
</template>

現在,我需要隱藏並顯示此模板,並已准備好訂閱。 如何從javascript渲染加載模板。 我努力了

{{#unless Template.subscriptionsReady}}
 {{> loading}}
{{/unless}}

{{#If Template.subscriptionsReady}}
 {{> loading}}
{{else}}
 content
{{/if}}

但是在我的情況下#unless#if不是必需的。 必須從腳本加載它。

很簡單。 退房Spacebars建關的把手

{{#if Template.subscriptionsReady}}
  {{> notLoading}}
{{else}}
 {{> loading}}
{{/if}}

您可以使用Blaze.render()Blaze.renderWithData()函數從JS渲染模板。

官方的流星文檔描述了如何使用它
http://docs.meteor.com/#/full/blaze_render

例:

// This will render your template to the body and remove it after 3000ms

var view = Blaze.render(Template.loading, document.getElementsByTagName('body')[0]);
setTimeout(function() { Blaze.remove(view) }, 3000);

您可以通過使用Blaze.render從javascript加載模板。 在您的html中,創建一個div並為其分配一個ID,例如“ rendertemplatehere”。

HTML:

<div id="rendertemplatehere"></div>

在javascript中,編寫邏輯后,只要您要呈現模板,就可以在訂閱就緒后執行,

Javascript :(來自webdeb的同一問題答案的幫助)

    var view = Blaze.render(Template.loading, document.getElementById('rendertemplatehere'));

而且,如果您要刪除模板(如果模板已經渲染),則當您的訂閱到期/尚未准備就緒時,請執行,

Javascript:

Blaze.remove(view);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM