3

私の流星アプリには、次のような base.html ファイルがあります。

<head>
  <title>MyApp</title>
</head>

<body>
    <template name="bodyContent">
        {{subContent}}
    </template>
</body>

次に、3 つの異なるテンプレートを定義します。

<template name="templateA">Some text</template>
<template name="templateB">Bla bla bla</template>
<template name="templateC">Your highscore is {{score}}</template>

{{subContent}} を作成して、実行時にこれら 3 つのテンプレートのいずれかを切り替えるにはどうすればよいですか?

何かのようなもの:

currentTemplateUsed = 'templateB'

Template.bodyContent.subContent = Template[currentTemplateUsed]

しかし、それはうまくいきません。この機能を達成するための他のアプローチはありますか?

4

2 に答える 2

2

テンプレートを動的に変更できるmeteor routerを使用する必要があります。考えられる欠点は、一度に1 つのテンプレートしか変更できないことです。

または、Meteor のハンドルバーに関する情報が少しあります: https://github.com/meteor/meteor/wiki/Handlebars

基本的に、次のように、テンプレートを関数として使用し、Handlebars が解析できるようにデータを渡す必要があります。

var currentTemplateUsed = 'templateC';

var data = {
   score : 12
}

Template.bodyContent.subContent = Template[currentTemplateUsed](data);

戻り値Your highscore is 12

于 2012-11-28T20:05:49.967 に答える
0

内部のテンプレートが<body> ... </body>機能していないようです。内部にデータを渡すことができませんでした。私は間違っているかもしれませんが、それを外に出して使用しなければなりませんでした:

<body>
  {{> body_content}}
</body>
于 2012-12-18T02:50:38.770 に答える