Javascript 在Ember中获取所有可用模板

Javascript 在Ember中获取所有可用模板,javascript,templates,ember.js,handlebars.js,Javascript,Templates,Ember.js,Handlebars.js,我正在尝试在Ember中获取所有可用的模板,从2.16.x开始,Ember中的模板似乎不再有效。基本上我需要的就是这个,有其他选择吗 我正在尝试基于模型属性动态加载路由的模板。我已经有了逻辑工作,我所需要的是一个模板列表 相关,但不再有效: 谢谢 您可以通过window.requirejs.entries访问所有条目。如果所有模板都符合某些命名或目录规则,则可以找到它们的列表。例如,如果您的所有模板都位于templates目录下,则可以按如下方式找到它们: var getKeys = (Obje

我正在尝试在Ember中获取所有可用的模板,从2.16.x开始,Ember中的模板似乎不再有效。基本上我需要的就是这个,有其他选择吗

我正在尝试基于模型属性动态加载路由的模板。我已经有了逻辑工作,我所需要的是一个模板列表

相关,但不再有效:


谢谢

您可以通过
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]);
  }
});

您可以通过
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]);
  }
});

我也做类似的事情。但我不需要所有模板的列表,我可以根据模型属性确定模板名称,然后只渲染它。你有没有可能在没有所有模板列表的情况下完成它?没有,我肯定需要应用程序中所有可用模板的列表。我做了类似的事情。但我不需要所有模板的列表,我可以根据模型属性确定模板名称,然后只渲染它。你有没有可能在没有所有模板列表的情况下完成它?没有,我确实需要一个应用程序中所有可用模板的列表。谢谢!到目前为止我一直在工作。尽管我将其更改为
Object.keys(window.requirejs.entries).filter((path)=>path.includes('custom-path')(ES6)当然可以,因为解决方案不再有效。这个解决方案可能有一天会被破坏。我真的不明白为什么他们会删除
Ember.keys(Ember.TEMPLATES)Object.keys(window.requirejs.entries).filter((path)=>path.includes('custom-path')(ES6)当然可以,因为解决方案不再有效。这个解决方案可能有一天会被破坏。我真的不明白为什么他们会删除
Ember.keys(Ember.TEMPLATES)首先,它是一个更加优雅的解决方案。