Ich stelle normalerweise fest, dass ich nach Importen für verschiedene Dinge suche, wenn ich eine Theme-Komponente erstelle. Daher habe ich beschlossen, eine Reihe davon zusammenzustellen und hier zu platzieren.
Ember-bezogen
| Name | Import | Verwendung |
|---|---|---|
| Component | import Component from \"@glimmer/component\"; |
export default class MyComponentClass extends Component {} |
| Action decorator | import { action } from \"@ember/action\"; |
@action |
| Tracked decorator | import { tracked } from \"@glimmer/tracking\"; |
@tracked myTrackedVar |
| Service decorator | import { service } from \"@ember/service\"; |
@service modal |
| (Glimmer-Vorlage) on | import { on } from \"@ember/modifier\"; |
\u003cp {{on \"click\" this.someAction}}\u003eKlick mich!\u003c/p\u003e[1] |
Discourse-bezogen
| Name | Import | Verwendung |
|---|---|---|
| apiInitializer | import { apiInitializer } from \"discourse/lib/api\"; |
export default apiInitializer((api) =\u003e {}) |
| withPluginApi | import { withPluginApi } from \"discourse/lib/plugin-api\"; |
withPluginApi((api) =\u003e {})[2][3] |
| ConditionalLoadingSpinner | import ConditionalLoadingSpinner from \"discourse/components/conditional-loading-spinner\"; |
\u003cConditionalLoadingSpinner @condition={{this.loading}} /\u003e |
| DButton | import DButton from \"discourse/components/d-button\"; |
\u003cDButton @icon=\"...\" @action={{this.someAction}} /\u003e |
| ajax | import { ajax } from \"discourse/lib/ajax\"; |
ajax(\"/path/here\")[4] |
| i18n | import { i18n } from \"discourse-i18n\"; |
{{i18n \"locale_key\"}}[5] |
| (Glimmer-Vorlage) 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] |
Sie könnten sehen, wie sie kombiniert werden, wie z. B. verfolgte Variablen als Bedingung für ConditionalLoadingSpinner oder Aktionen für DButton usw.
Ich hoffe, das hilft!
\u003csmall\u003eIch bin kein Profi, also wenn Sie Ungenauigkeiten bemerken, helfen Sie bitte, sie zu korrigieren oder bringen Sie sie zur Sprache, danke
.\u003c/small\u003e
Sie können auch Ereignisse wie
input,mousedown,focusinusw. verwenden ↩︎Siehe discourse/app/assets/javascripts/discourse/app/instance-initializers/enable-emoji.js at 99ace1be120b928f6c694d0118959d745cc4bdbe · discourse/discourse · GitHub ↩︎
Ich denke, es wird empfohlen, stattdessen
apiInitializerzu verwenden; Ich denke, dies ist die alte Version? ↩︎Funktioniert ähnlich wie
fetch(). Setzen Sie dies in eineasync-Funktion, mit einemawait-Schlüsselwort. ↩︎Wenn Sie die Locale aus dem Kern-Repository abrufen, z. B. user.summary.stats ↩︎
Dinge wie
andundorkönnen mehr als 2 Argumente haben ↩︎