使用通配符按名称查找所有组件

时间:2016-11-05 20:10:39

标签: ember.js

是否可以使用通配符或正则表达式根据名称查找所有Ember组件?

到目前为止,我找到了一种通过其fullName查找组件的方法: appInstance.lookup('component:my-component')

但我想要实现的目标是: appInstance.lookup('component:my-*') 这将返回一个名称以' my - '

开头的组件数组

1 个答案:

答案 0 :(得分:0)

您可以使用require.entries列出所有条目的名称:

function getKeys(){
  return Object.keys(require.entries).filter(function(key){
    return /.*components\/my-.*/.test(key);
};

然后您可以使用此键创建lookup(请注意,函数getKeys将返回组件的js文件名和模板文件名。)