Отлично! Вы разобрались, как это сделать. ![]()
Вот несколько улучшений, которые вы можете внести:
-
api.decoratedCookedустарела и вызывается для каждого поста.
Вместо неё используйтеdecorateCookedElement, которая работает без jQuery. -
В API передаётся
element, представляющий текущий пост; вы можете использовать его как контекст поста. -
Вы можете использовать функцию
scheduleиз Ember, чтобы дождаться рендеринга элемента.
import { schedule } from "@ember/runloop";
// const { schedule } = require("@ember/runloop"); // используйте это, если работаете в интерфейсе администратора
api.decorateCookedElement((element, /* helper */) => {
schedule("afterRender", () => {
const article = element.closest("article");
if (article) {
article.dataset.postNumber = article.id.replace("post_", "");
}
});
});
