Angular 2 app组件数组

时间:2017-01-12 21:33:56

标签: angular typescript

我有一个字符串变量,它是组件的名称。我需要将此变量传递给另一个对象属性,但作为组件对象而不是字符串。

那么,是否有一个全局数组存储了我可以访问的应用程序的所有组件?像这样的东西;

let componentName = 'myComponentName';
componentsArray[componentName];

或者,我可以将变量转换为类型:Component?

...编辑

我正在创建路由配置;

const routes: Routes = [
  {
  path: 'home',
  component: componentName
  },
  {
    path: 'services',
    component: componentName
  },
  {
    path: '',
    component: componentName
  },
  {
    path: '**',
    component: componentName
  }
];

1 个答案:

答案 0 :(得分:0)

您描述的数据结构在Angular2中并不常用。我怀疑您希望使用此数组传递应用程序周围的组件,因为您将元素存储在数组中以在PHP中传递它们。

Angular以不同的方式解决了这个问题,它有各种工具来显示和隐藏组件。例如*ngIf指令[hidden](除非您能解释原因,否则不要使用此*ngIf),最重要的是内置Router。学习这些将是一种投资,但一旦你拥有它们,你将从更好的表现中受益。