【问题标题】:Call a function into a export variable将函数调用到导出变量中
【发布时间】:2020-06-12 19:16:19
【问题描述】:

我有一个带有导出常量的文件,用于从 coreui 构建一些导航导航栏,但我正在尝试找到一种方法来构建一些动态 json,其中包含来自其他组件或同一文件中的数据并注入导出的常量。有什么想法吗?

import { environment } from '../../../environments/environment';
export const navItems = [
  {
    name: 'Create Form',
    url: environment.URL,
    icon: 'icon-plus',
  },
  {
    name: 'Views',
    url: '#',
    icon: 'cil-applications',
     children: [
        //inject some dynamic json here from other function
     ]
  }
]

【问题讨论】:

    标签: angular typescript core-ui


    【解决方案1】:

    您应该使用 InjectionToken 为您的模块提供其价值。

    你可以为这个对象创建一个接口,然后在你的模块中引用这个变量:

    const navItems: YourObjectInterface = {
      ...
    }
    
    export const NAV_ITEMS = new InjectionToken<YourObjectInterface>('nav.items');
    
    ...
    
    providers: [{ provide: NAV_ITEMS, useValue: navItems }]
    

    然后在你的组件上你会像这样注入它:

    constructor(@Inject(NAV_ITEMS) items: YourObjectInterface) { }
    

    有关依赖提供者的更多信息:

    https://angular.io/guide/dependency-injection-providers

    【讨论】:

      猜你喜欢
      • 2018-09-07
      • 1970-01-01
      • 2021-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-22
      • 1970-01-01
      • 2013-03-28
      相关资源
      最近更新 更多