本文整理匯總了TypeScript中@dojo/widget-core/Registry.Registry.define方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript Registry.define方法的具體用法?TypeScript Registry.define怎麽用?TypeScript Registry.define使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類@dojo/widget-core/Registry.Registry
的用法示例。
在下文中一共展示了Registry.define方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: Registry
import { Outlet } from '@dojo/routing/Outlet';
import { Registry } from '@dojo/widget-core/Registry';
import TodoHeader from './widgets/TodoHeader';
import TodoList from './widgets/TodoList';
import TodoFooter from './widgets/TodoFooter';
import TodoFilter from './widgets/TodoFilter';
import TodoItem from './widgets/TodoItem';
const registry = new Registry();
function mapFilterRouteParam({ params }: any) {
return { activeFilter: params.filter };
}
registry.define('todo-header', TodoHeader);
registry.define('todo-list', Outlet(TodoList, 'filter', { mapParams: mapFilterRouteParam }));
registry.define('todo-item', TodoItem);
registry.define('todo-footer', TodoFooter);
registry.define('todo-filter', Outlet(TodoFilter, 'filter', { mapParams: mapFilterRouteParam }));
const root = document.querySelector('my-app') || undefined;
const Projector = ProjectorMixin(TodoApp);
const projector = new Projector();
const router = registerRouterInjector([
{
path: 'filter/{filter}',
outlet: 'filter',
defaultParams: { filter: 'all' },
示例2: constructor
class StoreInjector extends Injector {
constructor(payload: Store<State>) {
super(payload);
payload.on('invalidate', () => {
this.emit({ type: 'invalidate' });
});
}
}
const store = new Store<State>();
const registry = new Registry();
const router = registerRouterInjector(getRouteConfig(store), registry);
registry.define('editor', async () => {
const module = await import('./containers/EditorContainer');
return module.EditorContainer;
});
registry.define('article', async () => {
const module = await import('./containers/ArticleContainer');
return module.ArticleContainer;
});
registry.define('login', async () => {
const module = await import('./containers/LoginContainer');
return module.LoginContainer;
});
registry.define('register', async () => {
const module = await import('./containers/RegisterContainer');
return module.RegisterContainer;
});
registry.define('profile', async () => {
const module = await import('./containers/ProfileContainer');
示例3: Registry
import { registerRouterInjector } from '@dojo/routing/RouterInjector';
import { App } from './App';
import { getTagsProcess } from './processes/tagProcesses';
import { setSessionProcess } from './processes/loginProcesses';
import { changeRouteProcess } from './processes/routeProcesses';
import { State } from './interfaces';
import { getRouteConfig } from './config';
import { StoreInjector } from '@dojo/stores/StoreInjector';
const store = new Store<State>();
const registry = new Registry();
const router = registerRouterInjector(getRouteConfig(store), registry);
registry.define('editor', () => import('./containers/EditorContainer'));
registry.define('article', () => import('./containers/ArticleContainer'));
registry.define('login', () => import('./containers/LoginContainer'));
registry.define('register', () => import('./containers/RegisterContainer'));
registry.define('profile', () => import('./containers/ProfileContainer'));
registry.define('settings', () => import('./containers/SettingsContainer'));
let session;
if (!has('build-time-render')) {
session = global.sessionStorage.getItem('conduit-session');
}
getTagsProcess(store)({});
if (session) {
setSessionProcess(store)({ session: JSON.parse(session) });