قائمة مشتركة للاستيرادات لمكونات/إضافات الثيم (JS)

أجد نفسي عادةً أبحث للحصول على الاستيرادات (imports) لأشياء مختلفة عندما أقوم بإنشاء مكون سمة (Theme Component)، لذلك قررت تجميع مجموعة منها ووضعها هنا.

متعلق بـ Ember

الاسم الاستيراد (Import) الاستخدام (Usage)
Component import Component from "@glimmer/component"; export default class MyComponentClass extends Component {}
Action decorator import { action } from "@ember/object"; @action
Tracked decorator import { tracked } from "@glimmer/tracking"; @tracked myTrackedVar
Service decorator import { service } from "@ember/service"; @service modal
(قالب Glimmer) on import { on } from "@ember/modifier"; <p {{on "click" this.someAction}}>Click me!</p>[1]

متعلق بـ Discourse

الاسم الاستيراد (Import) الاستخدام (Usage)
apiInitializer import { apiInitializer } from "discourse/lib/api"; export default apiInitializer((api) => {})
withPluginApi import { withPluginApi } from "discourse/lib/plugin-api"; withPluginApi((api) => {})[2][3]
ConditionalLoadingSpinner import ConditionalLoadingSpinner from "discourse/components/conditional-loading-spinner"; <ConditionalLoadingSpinner @condition={{this.loading}} />
DButton import DButton from "discourse/components/d-button"; <DButton @icon="..." @action={{this.someAction}} />
ajax import { ajax } from "discourse/lib/ajax"; ajax("/path/here")[4]
i18n import { i18n } from "discourse-i18n"; {{i18n "locale_key"}}[5]
(قالب Glimmer) Equals, not equals, greater than, greater than or equals, less than, less than or equals, or, not, and, has, includes import { eq, and, ... } from "truth-helpers"; {{#if (eq this.something this.something2)}}[6]

قد تراهم مدمجين معًا، مثل المتغيرات المتعقبة (tracked variables) كشرط لـ ConditionalLoadingSpinner، أو الإجراءات (actions) لـ DButton، إلخ.

آمل أن يساعد هذا!

أنا لست محترفًا، لذا إذا لاحظت أي معلومات غير دقيقة، يرجى المساعدة في تصحيحها أو إثارتها، شكرًا لك :slightly_smiling_face:.


  1. يمكنك أيضًا استخدام أحداث مثل input، mousedown، focusin، إلخ ↩︎

  2. انظر discourse/app/assets/javascripts/discourse/app/instance-initializers/enable-emoji.js at 99ace1be120b928f6c694d0118959d745cc4bdbe · discourse/discourse · GitHub ↩︎

  3. أعتقد أنه يوصى باستخدام apiInitializer بدلاً من ذلك؛ أعتقد أن هذا هو الإصدار القديم؟ ↩︎

  4. يعمل بطريقة تشبه fetch(). ضع هذا في دالة async، مع كلمة المفتاح await. ↩︎

  5. إذا كنت تحصل على اللغة من المستودع الأساسي، على سبيل المثال user.summary.stats ↩︎

  6. يمكن أن تحتوي أشياء مثل and و or على أكثر من وسيطين ↩︎

9 إعجابات

ها، هذا رائع! لديّ نفس الشيء وغالبًا ما يتخيل الذكاء الاصطناعي/الإكمال التلقائي في VS Code مسارًا خاطئًا :wink:

إعجاب واحد (1)