如何在 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;
}
考虑下面的代码。
{{#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;
}