Come trovare un tag usando la plugin-api

Ho la seguente istruzione di importazione nel mio codice (lato javascript):

import Tag from "discourse/models/tag";

Tuttavia, non riesco a usarla per recuperare un oggetto tag tramite il suo nome. Il mio obiettivo è ottenere la descrizione del tag, ma ho solo il nome. Mi aspettavo qualcosa di simile a questo:

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

Il modello Tag ha una funzione simile?

1 Mi Piace

Puoi recuperare i dati dei tag dall’endpoint /tags.json.

In questo esempio sto ottenendo la descrizione di un tag email:

import { ajax } from "discourse/lib/ajax";
  ajax(`/tags.json`).then(({ tags }) => {
    const emailTag = tags.find((tag) => tag.name === "email");
    const emailTagDesc = emailTag.description;
  });
4 Mi Piace

Grazie! Credo di aver trovato un modo più efficiente per farlo:

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

Tuttavia, non so se this.store.find sia più veloce dell’invio di una query ajax a tutti i tag e del filtraggio. Forse sta facendo la stessa cosa.

2 Mi Piace