本文整理匯總了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})
]);
}
示例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));
}
示例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',