本文整理汇总了TypeScript中angular2/angular2.Injector类的典型用法代码示例。如果您正苦于以下问题:TypeScript Injector类的具体用法?TypeScript Injector怎么用?TypeScript Injector使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Injector类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: beforeEach
beforeEach(() => {
injector = Injector.resolveAndCreate([
MockBackend
]);
backend = injector.get(MockBackend);
response = new Response({ body: LOGO_GLYPH_HTML });
});
示例2: beforeEach
beforeEach(() => {
injector = Injector.resolveAndCreate([
HTTP_BINDINGS,
MockBackend,
BaseResponseOptions,
provide(Http, {
useFactory: (backend, baseResponseOptions) => {
return new Http(backend, baseResponseOptions);
},
deps: [MockBackend, BaseResponseOptions]
}),
TickerLoader
]);
backend = injector.get(MockBackend);
baseResponseOptions = injector.get(BaseResponseOptions);
http = injector.get(Http);
tickerLoader = injector.get(TickerLoader);
backend.connections.subscribe((c:MockConnection) => {
var symbol:string[] =/.*stocks\?symbol=(.*)/.exec(c.request.url);
switch(symbol[1]) {
case 'a':
c.mockRespond(new Response(baseResponseOptions.merge({
body: [{
"company_name":"Agilent Technologies, Inc. Common Stock","symbol":"A"
}]
})))
break;
default:
connection = c;
}
});
});
示例3: describe
describe('IconStore', () => {
var injector: Injector;
var store: IconStore;
var backend: MockBackend;
var glyph: Node;
var response;
beforeEach(() => {
injector = Injector.resolveAndCreate([
BaseRequestOptions,
MockBackend,
bind(Http).toFactory((connectionBackend: ConnectionBackend, defaultOptions: BaseRequestOptions) => {
return new Http(connectionBackend, defaultOptions);
}, [
MockBackend,
BaseRequestOptions
]),
bind(IconStore).toClass(IconStore, [
Http
])
]);
backend = injector.get(MockBackend);
store = injector.get(IconStore);
response = new Response({ body: SVG_GLYPH_HTML });
glyph = createGlyphNode();
});
afterEach(() => backend.verifyNoPendingRequests());
describe('.get', () => {
it('should return an Observable', () => {
expect(ObservableWrapper.isObservable(store.get(FAKE_URL))).toBe(true);
});
it('return value should be an SVG element', inject([AsyncTestCompleter], (async) => {
ObservableWrapper.subscribe(backend.connections, (connection: MockConnection) => connection.mockRespond(response));
ObservableWrapper.subscribe(store.get(FAKE_URL), (svg) => {
expect(svg.isEqualNode(glyph)).toBe(true);
async.done();
});
}));
it('should only fire one request for the same path and resolve from cache', inject([AsyncTestCompleter], (async) => {
let url = 'ofor/' + FAKE_URL;
let bc = new BackendConnectionSpy();
ObservableWrapper.subscribe(backend.connections, (connection: MockConnection) => {
bc.onEstablish();
connection.mockRespond(response);
});
ObservableWrapper.subscribe(store.get(url), () => {
ObservableWrapper.subscribe(store.get(url), () => {
expect(bc.onEstablish.calls.count()).toEqual(1);
async.done();
});
});
}));
});
});
示例4: beforeEach
beforeEach(() => {
injector = Injector.resolveAndCreate([
BaseRequestOptions,
MockBackend,
bind(Http).toFactory((connectionBackend: ConnectionBackend, defaultOptions: BaseRequestOptions) => {
return new Http(connectionBackend, defaultOptions);
}, [
MockBackend,
BaseRequestOptions
]),
bind(IconStore).toClass(IconStore, [
Http
])
]);
backend = injector.get(MockBackend);
store = injector.get(IconStore);
response = new Response({ body: SVG_GLYPH_HTML });
glyph = createGlyphNode();
});
示例5: bootstrap
bootstrap(MyAppComponent).then(result => {
var injector: Injector = result.injector;
var loader: DynamicComponentLoader = injector.get(DynamicComponentLoader);
var dict = {
'schedule.html': SchedulePage,
'add.html': AddItemPage
};
OnsTabElement.prototype._createPageElement = function(page, callback) {
if (dict[page]) {
loader.loadIntoNewLocation(dict[page], new ElementRef(result._hostComponent.hostView, 0)).then(componentRef => {
callback(componentRef.location.domElement);
});
}
else {
throw new Error('Page ' + page + ' does not exist.');
}
};
});
示例6: describe
describe('logo', () => {
var injector: Injector;
var backend: MockBackend;
var response;
beforeEachBindings(() => [
BaseRequestOptions,
MockBackend,
bind(Http).toFactory((connectionBackend: ConnectionBackend, defaultOptions: BaseRequestOptions) => {
return new Http(connectionBackend, defaultOptions);
}, [
MockBackend,
BaseRequestOptions
]),
bind(IconStore).toClass(IconStore, [
Http
])
]);
beforeEach(() => {
injector = Injector.resolveAndCreate([
MockBackend
]);
backend = injector.get(MockBackend);
response = new Response({ body: LOGO_GLYPH_HTML });
});
afterEach(() => backend.verifyNoPendingRequests());
it('should append an svg as child of self', inject([TestComponentBuilder, AsyncTestCompleter], (tcb: TestComponentBuilder, async) => {
let html = '<div class="logo" logo></div>';
ObservableWrapper.subscribe(backend.connections, (connection: MockConnection) => {
// console.log(connection);
connection.mockRespond(response)
});
tcb
.overrideTemplate(Test, html)
.createAsync(Test)
.then((rootTC) => {
rootTC.detectChanges();
let logo: Element = DOM.querySelector(rootTC.nativeElement, '.logo');
let prefixSelector = isNativeShadowDOMSupported ? '* /deep/ ' : ''; // soon use '>>>' https://www.chromestatus.com/features/6750456638341120
// console.log(logo.firstChild, prefixSelector);
// expect(logo.querySelector(prefixSelector + 'svg')).not.toBe(null);
async.done();
});
}));
});
示例7: require
require('reflect-metadata');
require('traceur-runtime');
import {httpInjectables, jsonpInjectables, Http, Jsonp} from './http';
import {Injector} from 'angular2/angular2';
export * from './http';
/**
* TODO(jeffbcross): export each as their own top-level file, to require as:
* require('http/http'); require('http/jsonp');
*/
export var http = Injector.resolveAndCreate([httpInjectables]).get(Http);
export var jsonp = Injector.resolveAndCreate([jsonpInjectables]).get(Jsonp);
示例8: require
require('reflect-metadata');
require('traceur-runtime');
import {HTTP_BINDINGS, JSONP_BINDINGS, Http, Jsonp} from './http';
import {Injector} from 'angular2/angular2';
export * from './http';
/**
* TODO(jeffbcross): export each as their own top-level file, to require as:
* require('http/http'); require('http/jsonp');
*/
export var http = Injector.resolveAndCreate([HTTP_BINDINGS]).get(Http);
export var jsonp = Injector.resolveAndCreate([JSONP_BINDINGS]).get(Jsonp);