【问题标题】:How to render template values using javascript - Meteor如何使用 javascript 渲染模板值 - Meteor
【发布时间】:2013-04-07 04:24:15
【问题描述】:

如何渲染模板的内容 .. 我无法通过这一点:/ 感谢您的帮助

示例:

<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")]()));
     }
 });

类似这样的东西..但该代码对我不起作用

【问题讨论】:

    标签: javascript templates dynamic meteor render


    【解决方案1】:

    Meteor.render(Template.try) 返回一个文档片段,您可以使用 jQuery 或 vanilla 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 中的一些逻辑

    【讨论】:

    • 谢谢兄弟 .. :) .. 但我想要的是获取模板名称中的数据 = 尝试 ...
    • 抱歉,代码格式不正确 - 请参阅前两个示例
    • 控制台日志有错误吗?能发个 js fiddle 吗?
    • 看看我更新的答案。注意Template.try 后面没有括号 - Meteor.render 采用 function,而不是 html 字符串
    • 我认为这不再有效。请在引入 Blaze 后更新 Meteor 版本的答案。
    猜你喜欢
    • 1970-01-01
    • 2017-05-17
    • 2014-12-12
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 2015-06-11
    相关资源
    最近更新 更多