0
我希望能夠爲每個模型添加行數。我知道如何使用遠程或操作掛鉤來添加它,但據我所知,必須將該代碼添加到您要使用它的每個模型中。相反,我只想編寫一個鉤子,無論請求何種模型,都會觸發。有沒有辦法創建一個「全局」鉤子,無論請求的模型會觸發
我希望能夠爲每個模型添加行數。我知道如何使用遠程或操作掛鉤來添加它,但據我所知,必須將該代碼添加到您要使用它的每個模型中。相反,我只想編寫一個鉤子,無論請求何種模型,都會觸發。有沒有辦法創建一個「全局」鉤子,無論請求的模型會觸發
您可以利用mixin功能。
在model-confg.js
指定混入的位置:
{
"_meta": {
"mixins": [
"loopback/common/mixins",
"loopback/server/mixins",
"../common/mixins",
"./mixins"
],
...
},
...
}
在您指定的混入文件夾中創建一個混合(如server/mixins/<mixin-Name>.js
):
module.exports = function(Model, options) {
Model.observe('before save', function event(ctx, next) {
// Your row count logic
next();
});
};
添加混入到模型:
{
"name": "MyModel",
"base": "PersistedModel",
"properties": {
...
},
...
"mixins": {
"MixinName": true
},
...
}
另一種選擇是對內置電路的擴展,在PersistedModel
。你可以添加你的鉤子,然後將這些模型放在這個擴展的PersistedModel
上。
所有型號都基於PersisdedModel。也許如果你鉤入PersistedModel.prototype。[之前|之後] Remote()? – YeeHaw1234
你也可以用你的鉤子創建一個[mixin](https://loopback.io/doc/en/lb3/Defining-mixins.html),然後將它添加到你的模型中。 –
在我提到的細節中,我想避免。順便說一下,我去過布魯日和安特衛普,整潔的地方。我的朋友在布魯日有家人。 – dan