我正面临着撇号的新问题。 根据我的选择,我应该如何在构造方法中将js资产推送到浏览器?
这是一个例子。
module.exports = {
name: 'lionjar-countdown-page',
label: 'Timer Page',
extend: 'apostrophe-pieces-pages',
addFields: [{
name: 'bckImageTimer',
label: 'Image de background',
type: 'singleton',
widgetType: 'apostrophe-images',
options: {
limit: 1,
aspectRatio: [1, 1]
}
},
{
name: 'timerType',
label: "Sélectionnez l'animation d'arrière plan",
type: 'select',
choices: [
{ label: 'Aucune animation', value: '0', },
{ label: 'Particules légères', value: '1', },
{ label: 'Particules liées', value: '2', },
]
},
{
name: 'timerHideNavigation',
label: 'Masquer la navigation',
type: 'boolean',
help: "Masque le logo ainsi que les éléments de navigation"
},
],
afterConstruct: function(self) {
//console.log(self)
//self.pageBeforeSend();
},
construct: function(self, options) {
/*self.pageBeforeSend = function(req, callback) {
// Careful, there isn't always a page object; we could be
// rendering /login for instance
if (req.data.page.timerType.length > 0) {
//console.log(req.data.page.timerType);
//
}
//console.log(req.data.page);
return callback(null);
};*/
self.pushAsset('script', 'magic.min', { when: 'always' });
self.pushAsset('script', 'magic2.min', { when: 'always' });
self.pushAsset('stylesheet', 'always', { when: 'always' });
}
};
在我的self.pageBeforeSend()中,我得到了我的"用户"选择 : req.data.page.timerType
如果它的值为1,我想推送此文件:self.pushAsset(' script',' magic.min',{when:' always&#39 ;});
当我尝试在self.pageBeforeSend()中推送它时,日志显示将文件推送到前端已经太晚了。
我在撇号文档中看到过,我可以使用{when:....}在我的pushasset方法中添加args,但我不明白这是不是正确的方法以及如何做它
任何人都可以告诉我(如果有可能的话)
谢谢,
法比安