gpt4 book ai didi

meteor - 将参数传递到模板而不覆盖数据上下文

转载 作者:行者123 更新时间:2023-12-04 03:00:44 24 4
gpt4 key购买 nike

我想将新参数传递给模板,同时保留其原始数据上下文。

  • 原始数据上下文:{message:“hello”}
    {{> myTemplate withIcon=True}}
  • 用{withIcon:True} 覆盖
  • 数据上下文

    急性地,我的解决方案是像这样包装数据。
    <code>
    {{> myTemplate originalData=this withIcon=True}}
    </code>

    有更好的解决方案吗?

  • 最佳答案

    您始终可以在帮助程序中扩展当前上下文:

    Template.parentTemplate.helpers({
    iconContext: function() {
    var result = _.clone(this);
    result.withIcon = true;
    return result;
    }
    });

    并像这样使用它:

    <template name="parentTemplate">
    {{> myTemplate iconContext}}
    </template>

    另外,您可以创建一个更通用的帮助程序,如下所示:

    Template.registerHelper('extendContext', function(key, value) {
    var result = _.clone(this);
    result[key] = value;
    return result;
    });

    然后从任何模板的html中选择键/值对:

    <template name="parentTemplate">
    {{> myTemplate extendContext 'withIcon' true}}
    {{> myTemplate extendContext 'isAwesome' false}}
    </template>

    这两种解决方案都比将原始数据隐藏在单独的字段中更为可取,因为它可以使子模板保持通用。

    关于meteor - 将参数传递到模板而不覆盖数据上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28015971/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com