首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何链接本地(非全局) JSView助手,然后以编程方式访问

如何链接本地(非全局) JSView助手,然后以编程方式访问
EN

Stack Overflow用户
提问于 2022-09-19 17:39:51
回答 1查看 39关注 0票数 0

我有一些本地的帮手,我正在传递给链接方法。其中一个帮助器是一个过滤器函数,它依赖于一个助手变量。如何访问本地助手,以便根据变量设置筛选器?我猜在链接完成后,我需要访问特定的视图,然后设置“依赖”。但是,不确定如何在完成链接调用后直接访问这些本地助手(如myHelpers)。

用外行人的话来说,我想找的是:

tmpl.view.helpers.myHelpersFilter.depends = '~myHelpersParam‘

EN

回答 1

Stack Overflow用户

发布于 2022-09-24 10:26:28

更新:

一种简单的方法是在将其传递到myHelpersParam调用之前直接根据筛选器函数tmpl.link()设置它:

代码语言:javascript
复制
var myHelpers = {
  myHelpersFilter: function(...) {...},
  myHelpersParam: ...
};

myHelpers.myHelpersFilter.depends = '~myHelpersParam';

tmpl.link("#container", data, myHelpers)

或者,一种更灵活和复杂的方法是将一个onBind事件添加到正在进行筛选的标记中:

代码语言:javascript
复制
{^{for lineItems filter=~myHelpersFilter onBind=~myOnBindEvent ...}}

并在该事件处理程序中的筛选器上设置depends

代码语言:javascript
复制
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
  },
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73777301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档