当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript Injector.resolveAndCreate方法代码示例

本文整理汇总了TypeScript中angular2/di.Injector.resolveAndCreate方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Injector.resolveAndCreate方法的具体用法?TypeScript Injector.resolveAndCreate怎么用?TypeScript Injector.resolveAndCreate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在angular2/di.Injector的用法示例。


在下文中一共展示了Injector.resolveAndCreate方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: main

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

  reflector.reflectionCapabilities = new ReflectionCapabilities();
  var appInjector = Injector.resolveAndCreate([]);

  var bindings = [
    DirectiveBinding.createFromType(A, null),
    DirectiveBinding.createFromType(B, null),
    DirectiveBinding.createFromType(C, null)
  ];
  var proto = ProtoElementInjector.create(null, 0, bindings, false, 0);
  var elementInjector = proto.instantiate(null);

  function instantiate() {
    for (var i = 0; i < iterations; ++i) {
      var ei = proto.instantiate(null);
      ei.hydrate(appInjector, null, null);
    }
  }

  function hydrate() {
    for (var i = 0; i < iterations; ++i) {
      elementInjector.dehydrate();
      elementInjector.hydrate(appInjector, null, null);
    }
  }

  bindAction('#instantiate', () => microBenchmark('instantiateAvg', iterations, instantiate));
  bindAction('#hydrate', () => microBenchmark('instantiateAvg', iterations, hydrate));
}
开发者ID:B-Thapa,项目名称:angular,代码行数:32,代码来源:element_injector_benchmark.ts

示例2: makeLocation

 function makeLocation(baseHref: string = '/my/app', binding: any = CONST_EXPR([])): Location {
   browserLocation = new DummyBrowserLocation();
   browserLocation.internalBaseHref = baseHref;
   let injector = Injector.resolveAndCreate(
       [Location, bind(BrowserLocation).toValue(browserLocation), binding]);
   return location = injector.get(Location);
 }
开发者ID:AsherBarak,项目名称:angular,代码行数:7,代码来源:location_spec.ts

示例3: beforeEach

 beforeEach(() => {
   injector = Injector.resolveAndCreate([MockBackend, bind(Http).toFactory(HttpFactory, [MockBackend])]);
   http = injector.get(Http);
   backend = injector.get(MockBackend);
   baseResponse = new Response('base response');
   sampleObserver = new SpyObserver();
 });
开发者ID:CADBOT,项目名称:angular,代码行数:7,代码来源:http_spec.ts

示例4: createInjector

export function createInjector(zone: NgZone, bus: MessageBus): Injector {
  BrowserDomAdapter.makeCurrent();
  _rootBindings.push(bind(NgZone).toValue(zone));
  _rootBindings.push(bind(MessageBus).toValue(bus));
  var injector: Injector = Injector.resolveAndCreate(_rootBindings);
  return injector.resolveAndCreateChild(_injectorBindings());
}
开发者ID:KenWilliamson,项目名称:Angular2HostedMobileApp,代码行数:7,代码来源:di_bindings.ts

示例5: makeLocation

 function makeLocation(baseHref: string = '/my/app', binding: any = CONST_EXPR([])): Location {
   locationStrategy = new MockLocationStrategy();
   locationStrategy.internalBaseHref = baseHref;
   let injector = Injector.resolveAndCreate(
       [Location, bind(LocationStrategy).toValue(locationStrategy), binding]);
   return location = injector.get(Location);
 }
开发者ID:lavinjj,项目名称:angular,代码行数:7,代码来源:location_spec.ts

示例6: _createAppInjector

function _createAppInjector(appComponentType: Type, bindings: List<Binding>, zone: VmTurnZone): Injector {
  if (isBlank(_rootInjector)) _rootInjector = Injector.resolveAndCreate(_rootBindings);
  var mergedBindings = isPresent(bindings) ?
      ListWrapper.concat(_injectorBindings(appComponentType), bindings) :
      _injectorBindings(appComponentType);
  ListWrapper.push(mergedBindings, bind(VmTurnZone).toValue(zone));
  return _rootInjector.resolveAndCreateChild(mergedBindings);
}
开发者ID:tavwizard,项目名称:angular,代码行数:8,代码来源:application.ts

示例7: _createAppInjector

function _createAppInjector(appComponentType: Type, bindings: List<Type | Binding | List<any>>,
                            zone: NgZone): Injector {
  if (isBlank(_rootInjector)) _rootInjector = Injector.resolveAndCreate(_rootBindings);
  var mergedBindings: any[] =
      isPresent(bindings) ? ListWrapper.concat(_injectorBindings(appComponentType), bindings) :
                            _injectorBindings(appComponentType);
  mergedBindings.push(bind(NgZone).toValue(zone));
  return _rootInjector.resolveAndCreateChild(mergedBindings);
}
开发者ID:cedriclam,项目名称:angular,代码行数:9,代码来源:application.ts

示例8: it

 it('should hydrate the view', () => {
   var injector = Injector.resolveAndCreate([]);
   var contextView =
       createView(createProtoView([createEmptyElBinder(), createEmptyElBinder()]));
   manager.createViewInContainer(elementRef(parentView, 0), 0, wrapPv(childProtoView),
                                 elementRef(contextView, 1), injector);
   expect(utils.spy('hydrateViewInContainer'))
       .toHaveBeenCalledWith(parentView, 0, contextView, 1, 0, injector);
   expect(renderer.spy('hydrateView')).toHaveBeenCalledWith(createdViews[0].render);
 });
开发者ID:jimthedev,项目名称:angular,代码行数:10,代码来源:view_manager_spec.ts

示例9: beforeEach

 beforeEach(() => {
   let injector = Injector.resolveAndCreate([
     bind(ResponseOptions)
         .toClass(BaseResponseOptions),
     bind(BrowserJsonp).toClass(MockBrowserJsonp),
     JSONPBackend
   ]);
   backend = injector.get(JSONPBackend);
   let base = new BaseRequestOptions();
   sampleRequest = new Request(base.merge(new RequestOptions({url: 'https://google.com'})));
 });
开发者ID:goderbauer,项目名称:angular,代码行数:11,代码来源:jsonp_backend_spec.ts

示例10: beforeEach

 beforeEach(() => {
   var injector = Injector.resolveAndCreate([
     bind(ResponseOptions)
         .toClass(BaseResponseOptions),
     bind(BrowserXhr).toClass(MockBrowserXHR),
     XHRBackend
   ]);
   backend = injector.get(XHRBackend);
   var base = new BaseRequestOptions();
   sampleRequest = new Request(base.merge(new RequestOptions({url: 'https://google.com'})));
 });
开发者ID:lavinjj,项目名称:angular,代码行数:11,代码来源:xhr_backend_spec.ts


注:本文中的angular2/di.Injector.resolveAndCreate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。