رائع! لقد اكتشفت كيفية القيام بذلك. ![]()
فيما يلي بعض التحسينات التي يمكنك إجراؤها:
-
سيتم إيقاف
api.decoratedCookedوسيتم استدعاؤه في كل مشاركة.
يمكنك استخدامdecorateCookedElementبدلاً من ذلك، والذي يعمل بدون jQuery. -
يتم تمرير
elementيمثل المشاركة الحالية إلى واجهة برمجة التطبيقات (API)؛ يمكنك استخدامه كسياق للمشاركة الخاصة بك. -
يمكنك العمل مع الدالة
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_", "");
}
});
});
