當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript ReflectiveInjector.resolve方法代碼示例

本文整理匯總了TypeScript中angular2/core.ReflectiveInjector.resolve方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript ReflectiveInjector.resolve方法的具體用法?TypeScript ReflectiveInjector.resolve怎麽用?TypeScript ReflectiveInjector.resolve使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在angular2/core.ReflectiveInjector的用法示例。


在下文中一共展示了ReflectiveInjector.resolve方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: createBindings

function createBindings(config: OneButtonPresetData): ResolvedReflectiveBinding[] {
    config.buttons = [
        {
            cssClass: config.okBtnClass,
            caption: config.okBtn,
            onClick: (modalComponent: MessageModal, $event?: MouseEvent) =>
                modalComponent.dialog.close(true)
        }
    ];

    return ReflectiveInjector.resolve([
        provide(MessageModalContext, {useValue: config})
    ]);
}
開發者ID:admirkb,項目名稱:angular2-modal,代碼行數:14,代碼來源:OneButtonPreset.ts

示例2: main

export function main() {
  BrowserDomAdapter.makeCurrent();
  var iterations = getIntParameter('iterations');

  // This benchmark does not use bootstrap and needs to create a reflector
  setupReflector();
  var bindings = [A, B, C, D, E];
  var injector = ReflectiveInjector.resolveAndCreate(bindings);

  var D_KEY = ReflectiveKey.get(D);
  var E_KEY = ReflectiveKey.get(E);
  var childInjector = injector.resolveAndCreateChild([])
                          .resolveAndCreateChild([])
                          .resolveAndCreateChild([])
                          .resolveAndCreateChild([])
                          .resolveAndCreateChild([]);

  var variousProviders = [A, provide(B, {useClass: C}), [D, [E]], provide(F, {useValue: 6})];

  var variousProvidersResolved = ReflectiveInjector.resolve(variousProviders);

  function getByToken() {
    for (var i = 0; i < iterations; ++i) {
      injector.get(D);
      injector.get(E);
    }
  }
  function getByKey() {
    for (var i = 0; i < iterations; ++i) {
      injector.get(D_KEY);
      injector.get(E_KEY);
    }
  }

  function getChild() {
    for (var i = 0; i < iterations; ++i) {
      childInjector.get(D);
      childInjector.get(E);
    }
  }

  function instantiate() {
    for (var i = 0; i < iterations; ++i) {
      var child = injector.resolveAndCreateChild([E]);
      child.get(E);
    }
  }

  /**
   * Creates an injector with a variety of provider types.
   */
  function createVariety() {
    for (var i = 0; i < iterations; ++i) {
      ReflectiveInjector.resolveAndCreate(variousProviders);
    }
  }

  /**
   * Same as [createVariety] but resolves providers ahead of time.
   */
  function createVarietyResolved() {
    for (var i = 0; i < iterations; ++i) {
      ReflectiveInjector.fromResolvedProviders(variousProvidersResolved);
    }
  }

  bindAction('#getByToken', () => microBenchmark('injectAvg', iterations, getByToken));
  bindAction('#getByKey', () => microBenchmark('injectAvg', iterations, getByKey));
  bindAction('#getChild', () => microBenchmark('injectAvg', iterations, getChild));
  bindAction('#instantiate', () => microBenchmark('injectAvg', iterations, instantiate));
  bindAction('#createVariety', () => microBenchmark('injectAvg', iterations, createVariety));
  bindAction('#createVarietyResolved',
             () => microBenchmark('injectAvg', iterations, createVarietyResolved));
}
開發者ID:844496869,項目名稱:angular,代碼行數:74,代碼來源:di_benchmark.ts

示例3: provide

import {ReflectiveInjector, provide} from 'angular2/core';
import {DashboardComponent} from './dashboard/dashboard.cmp';
import {LoginComponent} from './common/components/login.cmp';
import {TaskListComponent} from './task-list/task-list.cmp';
import {NotFoundComponent} from './common/components/notFound.cmp';
import {IConfig} from './common/services/FAR.d';
import {APP_CONFIG, CONFIG} from './common/services/app.config';

var injectors = ReflectiveInjector.resolve([
  provide(APP_CONFIG, {useValue: CONFIG})
]);

var config: IConfig = injectors[0].resolvedFactories[0].factory();
var ROUTE_NAME = config.routeName;

export const ROOT_ROUTES = [
  {
    path: '/', name: ROUTE_NAME.root, redirectTo: [ROUTE_NAME.login], useAsDefault: true,
    data: { title: '', requireAuth: false }
  },
  {
    path: '/login', name: ROUTE_NAME.login, component: LoginComponent,
    data: {
      title: 'FOO',
      requireAuth: false
    }
  },
  {
    path: '/dashboard', name: ROUTE_NAME.dashboard, component: DashboardComponent,
    data: {
      title: 'FOO',
開發者ID:AdamFaron,項目名稱:FOO,代碼行數:31,代碼來源:routes.ts


注:本文中的angular2/core.ReflectiveInjector.resolve方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。