2016-06-12 5 views
0

私はMeteorを使用していますが、htmlテンプレート要素を使用するバニラのjavascript/HTMLコードを使用したいと考えています。Meteor Blazeテンプレート内にHTML <template>要素を含めるにはどうすればよいですか?

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template

私は流星テンプレート内のものを含めるようにしてみてください。

<template name="test2"> 
    <template id="test3">Some stuff i will clone in javascript</template> 
</template> 

流星は、次のエラーが表示されます。

While processing files with templating (for target web.browser): 
client/index.html:153: Expected one of: <body>, <head>, <template> 

は流星でこれらを含めるする方法はありますテンプレート?私はbodyタグ内に含めることができますが、扱いにくいことを認識しています。あなたは<template>タグが実際にDOMに表示されないようにしてください

The HTML template element is a mechanism for holding client-side content that is not to be rendered when a page is loaded but may subsequently be instantiated during runtime using JavaScript.

:流星は、それがあなたのリンクから、設計された正確な理由のためのテンプレートタグを使用しているため、このafaict

+0

テンプレートを埋め込んで、特に興味はありますが.htmlファイルタグを使用するか、またはサブテンプレートを呼び出すだけですか? –

+0

特に、標準のjavascriptを使用して、私が照会、複製などできるテンプレートタグの埋め込みに興味があります。 – Greg

答えて

0

ヘルパーを使用し

クライアントサイドの.jsファイルで

Template.registerHelper('vanillaTemplate',() => { 
    return '<template id="test3">Some stuff i will clone in javascript</template>' 
}) 

<template name="test2"> 
    {{> vanillaTemplate}} 
</template> 
+0

ありがとう、これはうまくいくでしょう。 – Greg

1

は流星で行うことができません後でDOMでそれを操作することはできません。

Blaze自身が責任を負っていることを多分しようとしているようです。おそらく、あなたはあなたのテンプレートで何をしたいのかを教えてくれるでしょうし、Meteorでそれを行う方法を教えてくれるかもしれません。クライアント側で

+0

ああ、私はHTMLテンプレートを使用するいくつかのライブラリを持っています。私はそれらを移植するコードを書くことができますが、body要素の大きな塊として貼り付けるほうが簡単だと思います。しかし、それらを別々のファイルに分割してしまったのはうれしいでしょう。 – Greg

関連する問題