Эта тема уже поднималась несколько раз, но обсуждения заходили в тупик (обычно потому, что разработчик на самом деле не требует вызова AJAX). Однако я разрабатываю плагин, который обращается к данным, не хранящимся в базе данных Discourse (автономный бот Discord), и пытаюсь использовать эти данные для украшения постов.
export default Component.extend({
init() {
this._super(…arguments);var self = this; const store = getOwner(this).lookup("service:store"); let positions = []; store .findAll("position", { ...args, }) .then((data) => { for (const [key, position] of Object.entries(data.content)) { positions.pushObject(EmberObject.create({ ...position })); } }); withPluginApi("1.4.0", (api) => { api.reopenWidget("post", { html(attrs) { let position = positions.filter( (position) => position.user.id == attrs.user.id ); if (position.length > 0) { attrs.cooked = "Has Position"; } return this.attach("post-article", attrs); }, }); });},
});
Я пробовал различные варианты этого кода, включая вызов функции API в части .then запроса к хранилищу и так далее, но все они приводят к одному и тому же результату: изменения в постах не отображаются, пока вы не прокрутите страницу.
Все эти попытки были сделаны поздно ночью, поэтому вполне вероятно, что я упускаю что-то совершенно очевидное. Однако любая помощь будет очень кстати.
