Wie finde ich ein Tag mit der Plugin-API

Ich habe die folgende Importanweisung in meinem Code (JavaScript-Seite):

import Tag from "discourse/models/tag";

Ich kann sie jedoch nicht verwenden, um ein Tag-Objekt anhand seines Namens abzurufen. Mein Ziel ist es, die Tag-Beschreibung zu erhalten, aber ich habe nur den Namen. Ich hatte etwas Ähnliches erwartet:

const tagObj = Tag.find("tag_name");
const tagDesc = tagObj.description;

Hat das Tag-Modell eine ähnliche Funktion?

1 „Gefällt mir“

Sie können Tag-Daten vom Endpunkt /tags.json abrufen.

In diesem Beispiel rufe ich die Beschreibung eines email-Tags ab:

import { ajax } from "discourse/lib/ajax";
  ajax(`/tags.json`).then(({ tags }) => {
    const emailTag = tags.find((tag) => tag.name === "email");
    const emailTagDesc = emailTag.description;
  });
4 „Gefällt mir“

Danke! Ich glaube, ich habe einen effizienteren Weg gefunden, dies zu erreichen:

this.store.find("tag-info", "email").then(data => {
 const tag_desc = data.description
});

Ich weiß jedoch nicht, ob this.store.find schneller ist als das Senden einer Ajax-Abfrage an alle Tags und das Filtern. Vielleicht macht es dasselbe.

2 „Gefällt mir“