Loopbackjs strong在引导期间循环添加属性
我试图通过使用bootscript向(以前创建的)模型添加属性Loopbackjs strong在引导期间循环添加属性,loopbackjs,Loopbackjs,我试图通过使用bootscript向(以前创建的)模型添加属性 model.getDataSource().definePropery(model_name , property , property_value) 虽然模型似乎正确地接受了属性(我可以通过model.definition.properties[property]看到它),但API浏览器和完整的远程API可能不会相应地更新。是否有方法强制刷新这些文件 我的目标是拥有一个插件系统,它通过附加属性和方法扩展现有的基本模型,方法部分可
model.getDataSource().definePropery(model_name , property , property_value)
虽然模型似乎正确地接受了属性(我可以通过model.definition.properties[property]看到它),但API浏览器和完整的远程API可能不会相应地更新。是否有方法强制刷新这些文件
我的目标是拥有一个插件系统,它通过附加属性和方法扩展现有的基本模型,方法部分可以完美地工作。
我不想在引导之前更改JSON文件,所以最好使用动态方法
[编辑]
我确实想出了如何添加该方法,但它看起来太脏了,我担心它会引起问题。添加所有属性后,我将用修改后的模型覆盖应用程序的模型:
app.model(model , { dataSource: model.getDataSource() } )
对这个黑客有什么想法吗?我相信如果没有你的解决方法,它应该是好的,因为它似乎只是API浏览器,没有刷新。其他功能应保持不变 查看环回组件资源管理器代码,它在
modelmoted
和remoteMethodDisabled
应用程序事件上运行
因此,毫不奇怪,您的解决方案会刷新它:
app.model(model,{dataSource:model.getDataSource()})
因为这会导致发出modelmoted
事件
也许更安全的方法是让你自己排放:
app.emit('modelRemoted', model.sharedClss);
这不会涉及所有使用app.model
的机器。我在Github上搜索了这个事件的用法,没有找到任何与之相关的问题。所以我相信它现在应该解决你的问题,直到环回解决这个问题
同时,我已经为此提交了一份bug报告,我建议您密切关注