2

テンプレートのコンテンツをレンダリングする方法..私はこの点を通過できません:/助けてくれてありがとう

例 :

<body>
  {{> dash}}
</body>

<template name="dash">
<div id="example2" class='example_block'> 
    <form name = "frm">
        <table>
            <tr>
                <td>Template Name
                <td>:
                <td><input type="text" name = tname class = "tname">
      </frm>
       <div class='demo'>
            <input type='button' value='Click Here to Create Window' class="btn"/> 
        </div> 
    </div>
<div id = "window_block8" style="display:none;"></div>
</template>

<template name="t1">
    try1
</template>

<template  name="t2">
    try2 
</template>

   //client.js
 Template.dash.events({
'click input.btn' : function(){
    var temp = document.frm.tname.value ;
    Session.set("template" , temp);
            $('body').append(Meteor.render(Template[Session.get("currentTemplate")]()));
     }
 });

このようなもの..しかし、そのコードは私には機能しません

4

1 に答える 1

5

Meteor.render(Template.try)jQuery またはバニラ JS を使用してページに挿入できるドキュメント フラグメントを返します。

例えば

Template.dash.aw = function() {
    document.body.appendChild(Meteor.render(Template.try));
}

テンプレート名が変数の場合、配列スタイルの表記を使用できることに注意してください。

document.body.appendChild(Meteor.render(Template[Session.get("currentTemplate")]));

または、テンプレート全体ではなく変数のみを返したい場合は、次のようにします。

Template.try.var = function() {
    return 'Hello';
}
Template.dash.aw = function() {
    return Template.try.var();
}
// Template.dash.aw = Template.try.var = function() {
//    return 'Hello';
// }

いくつかのロジックが必要なため、コメントされた関数はおそらく不適切ですTemplate.dash.aw

于 2013-04-15T07:00:38.577 に答える