本文整理汇总了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) });