我有一些本地的帮手,我正在传递给链接方法。其中一个帮助器是一个过滤器函数,它依赖于一个助手变量。如何访问本地助手,以便根据变量设置筛选器?我猜在链接完成后,我需要访问特定的视图,然后设置“依赖”。但是,不确定如何在完成链接调用后直接访问这些本地助手(如myHelpers)。
用外行人的话来说,我想找的是:
tmpl.view.helpers.myHelpersFilter.depends = '~myHelpersParam‘

发布于 2022-09-24 10:26:28
更新:
一种简单的方法是在将其传递到myHelpersParam调用之前直接根据筛选器函数tmpl.link()设置它:
var myHelpers = {
myHelpersFilter: function(...) {...},
myHelpersParam: ...
};
myHelpers.myHelpersFilter.depends = '~myHelpersParam';
tmpl.link("#container", data, myHelpers)或者,一种更灵活和复杂的方法是将一个onBind事件添加到正在进行筛选的标记中:
{^{for lineItems filter=~myHelpersFilter onBind=~myOnBindEvent ...}}并在该事件处理程序中的筛选器上设置depends:
var myHelpers = {
myHelpersFilter: function(...) {...},
myHelpersParam: ...,
...
myOnBindEvent: function (tagCtx, linkCtx, ctx, ...) {
ctx.myHelpersFilter.depends = '~myHelpersParam'; // Set the depends for the filter
this.baseApply(arguments); // Call base onBind() handler
},
};https://stackoverflow.com/questions/73777301
复制相似问题