0

Meteor でパーシャル (HTML のフラグメント) をネストする方法はありますか?

どうして言えないの

<template name="foo">hello world!</template>
<template name="bar">{{> foo}}</template>
<template name="baz">{{> bar}}</template>

?

これは、どの HTML ページでも非常に一般的なことであり、Mustache と Handlebars の通常の機能です。これを試してみると、Meteor が黙って失敗するのはなぜですか?

4

2 に答える 2

0

sbkingの意味を明確にするために...

リーダーボードの例には、単一の Leaderboard.html ファイルがあります https://github.com/meteor/meteor/blob/devel/examples/leaderboard/leaderboard.html

<head>
  <title>Leaderboard</title>
</head>

<body>
  <div id="outer">
    {{> leaderboard}}
  </div>
</body>

<template name="leaderboard">
  <div class="leaderboard">
    {{#each players}}
      {{> player}}
    {{/each}}
  </div>

  ...
</template>

<template name="player">
  ...
</template>

しかし、meteor はすべてのファイルを参照するため、これは多くのファイルに分割できます。例えば

Leaderboard.html は

<template name="leaderboard">
  <div class="leaderboard">
    {{#each players}}
      {{> player}}
    {{/each}}
  </div>
  ...
</template>

そしてplayer.htmlは

<template name="player>
   ...
</template>

そしてそれはまだ動作します!!!! 黒魔術!

于 2014-07-29T22:12:35.873 に答える
0

Meteor の完全なドキュメントには、このセクションで見つけることができるいくつかの優れた簡単な例と、開始するための役立つ追加情報がいくつか記載されています。<body>基本的に、次のように最上位のテンプレートをタグ内に含めることだけを確認する必要があります。

<body>
    {{> a}}
</body>

<template name="a">
    Top-Level Template
</template>

次に、そこから最も深いテンプレートまで、好きなだけネストできます。

<template name="a">
    Top-Level Template
    {{> b}}
</template>

<template name="b">
    Mid-Level Template
    {{> c}}
</template>

<template name="c">
    ...
</template>

また、テンプレートは、定義と同じ HTML ファイルで定義する必要はありません<body>。それらはすべて同じファイルで定義することも、テンプレートごとに別のファイルに分割することもできます (テンプレートが十分に大きく複雑になると、これはより良いアイデアになります)。

于 2015-07-20T01:56:56.833 に答える