أجد نفسي عادةً أبحث للحصول على الاستيرادات (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، إلخ.
آمل أن يساعد هذا!
أنا لست محترفًا، لذا إذا لاحظت أي معلومات غير دقيقة، يرجى المساعدة في تصحيحها أو إثارتها، شكرًا لك
.
يمكنك أيضًا استخدام أحداث مثل
input،mousedown،focusin، إلخ ↩︎انظر discourse/app/assets/javascripts/discourse/app/instance-initializers/enable-emoji.js at 99ace1be120b928f6c694d0118959d745cc4bdbe · discourse/discourse · GitHub ↩︎
أعتقد أنه يوصى باستخدام
apiInitializerبدلاً من ذلك؛ أعتقد أن هذا هو الإصدار القديم؟ ↩︎يعمل بطريقة تشبه
fetch(). ضع هذا في دالةasync، مع كلمة المفتاحawait. ↩︎إذا كنت تحصل على اللغة من المستودع الأساسي، على سبيل المثال user.summary.stats ↩︎
يمكن أن تحتوي أشياء مثل
andوorعلى أكثر من وسيطين ↩︎