如何在 quickform 属性 _id 中引用父模板

How to refer parent template in quickform attribute _id

考虑下面的代码。

{{#each assignments}}
  {{#with eachClientDetails}}
    {{#quickRemoveButton collection=assignment _id=this._id }}
       Delete
    {{/quickRemoveButton}}
  {{/with}}
{{/each}}

在上面的代码中,我正在迭代每个 assignment 并且每个 assignment 都有一个 Client 细节。对于每个 Client 详细信息,我都添加了删除按钮。

帮手:

eachClientDetails(){
    var client = Clients.find({_id: this.clientId}).fetch()[0];
    console.log(client);
    return client;
}

但问题是,在将属性分配给 quickForm_id 时,我只能从当前上下文(即 this._id)分配数据。我只需要访问 assignment 的上下文(需要像 _id=../_id)。但是我得到以下错误,

Can only use `this` at the beginning of a path.
Instead of `foo.this` or `../this`, just write `foo` or `..`.

是否可以使用任何助手和东西来获取父模板_id

可以通过使用 #each in#let 而不是 #each#with:

来解决覆盖上下文的问题
{{#each assignment in assignments}}
  {{#let client=(eachClientDetails assignment)}}
    {{#quickRemoveButton collection=assignment _id=assignment._id }}
       Delete {{client.name}}
    {{/quickRemoveButton}}
  {{/let}}
{{/each}}

此处添加 {{client.name}} 只是为了展示如何访问 client 的字段。

以及助手代码:

eachClientDetails(assignment){
    var client = Clients.findOne({_id: assignment.clientId});
    console.log(client);
    return client;
}