attj
1
لدي عبارة الاستيراد التالية في الكود الخاص بي (جانب جافاسكريبت):
import Tag from "discourse/models/tag";
ومع ذلك، لا يمكنني استخدامه لاسترداد كائن علامة بالاسم. هدفي هو الحصول على وصف العلامة، ولكن لدي فقط الاسم. كنت أتوقع شيئًا مشابهًا لهذا:
const tagObj = Tag.find("tag_name");
const tagDesc = tagObj.description;
هل لدى نموذج العلامة وظيفة مماثلة؟
إعجاب واحد (1)
keegan
(Keegan George)
2
يمكنك جلب بيانات العلامات من نقطة النهاية /tags.json.
في هذا المثال، أحصل على وصف علامة 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 إعجابات
attj
3
شكراً! أعتقد أنني وجدت طريقة أكثر كفاءة لإنجاز ذلك:
this.store.find("tag-info", "email").then(data => {
const tag_desc = data.description
});
ومع ذلك، لا أعرف ما إذا كان this.store.find أسرع من إرسال استعلام ajax إلى جميع العلامات وتصفيتها. ربما يفعل الشيء نفسه.
إعجابَين (2)