【发布时间】:2017-09-23 02:00:10
【问题描述】:
我有一个关于 LoopBack 的操作钩子的问题。
在here 的帮助下,每当我的 Company 模型的“保存后”事件被触发时,我都会尝试以编程方式创建一个 Privilege 对象.这是在保存对象后自动创建对象。
请注意,我已经简化了我的案例以使其简单,但实际上我会在创建 Company 之后创建几个对象。
我在我的common/models/ 文件夹中创建了一个脚本,其中包含以下代码:
module.exports = function (Company) {
Company.observe('after save', function createObjectsForNewClient(ctx, next) {
if (ctx.instance) {
log('A new Company has been created. Shall create a Privilege for it.');
Privilege.create(
{...},
function (err, obj) {
if(err)
console.error(err);
if(obj)
console.lof(obj);
}
);
}
}
}
这样,钩子被正确触发,但 LoopBack 停止并出现异常:
TypeError: 无法读取未定义的属性“Privilege”
我认为这个模型可以在某个 loopback/javascript/almost-magic 范围内的某个地方使用。问题是我也尝试在 module.exports = function (Company, Privilege) {... 块中添加 Privilege 模型,但它似乎不接受列出要在函数中使用的无限数量的模型......
您还应该注意,我已将模型创建到 common/models/ 文件夹中的 JSON 文件中,但这些模型没有其他 JS 脚本,因为 LoopBack 似乎自动处理导出。是否会影响无法按我的意愿访问它们的事实?
我可能在某个地方做错了什么,但我想做的事情似乎相当简单。有人有想法吗?
【问题讨论】:
标签: javascript loopbackjs