當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。