Получить все доступные шаблоны в Ember

1

Я пытаюсь получить все доступные шаблоны в Ember, начиная с Ember.TEMPLATES 2.16.x. Ember.TEMPLATES больше не работает. В принципе, мне нужно именно это, есть ли альтернатива?

Я пытаюсь динамически загружать шаблон маршрута на основе свойства модели. У меня уже есть работа с логикой, все, что мне нужно, это список шаблонов.

Связано, но больше не работает: список всех доступных шаблонов Handlebar в консоли JavaScript

Спасибо!

  • 0
    Я делаю что-то подобное. Но мне не нужен список всех шаблонов, я могу определить имя шаблона на основе свойства модели, а затем просто отобразить его. Есть ли шанс, что вы можете сделать это, не имея списка всех шаблонов?
  • 0
    Нет, мне определенно нужен список всех доступных шаблонов в приложении.
Теги:
templates
handlebars.js
ember.js

1 ответ

0
Лучший ответ

Вы можете получить доступ ко всем entries через window.requirejs.entries. Если все ваши шаблоны соответствуют некоторым правилам именования или каталога, вы можете найти их список. Например, если все ваши шаблоны находятся в каталоге templates, вы можете найти их следующим образом:

var getKeys = (Object.keys || Ember.keys);
getKeys(window.requirejs.entries).forEach(itemName=>{
  if(itemName.indexOf('templates')>=0){
    console.log(itemName, itemName.indexOf('templates')>=0);
    console.log(window.requirejs.entries[itemName]);
  }
});
  • 1
    Спасибо! У меня пока работает. Хотя я изменил его на Object.keys(window.requirejs.entries).filter((path) => path.includes('custom-path')); (ES6)
  • 1
    Обратите внимание, что это может сломаться в какой-то момент в будущем ...
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню