本文整理汇总了TypeScript中@dojo/routing/RouterInjector.registerRouterInjector函数的典型用法代码示例。如果您正苦于以下问题:TypeScript registerRouterInjector函数的具体用法?TypeScript registerRouterInjector怎么用?TypeScript registerRouterInjector使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了registerRouterInjector函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: constructor
import { State } from './interfaces';
import { getRouteConfig } from './config';
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');
示例2: Registry
import { createStore } from 'redux';
import { todoReducer } from './reducers';
const defaultState = {
todos: [],
currentTodo: '',
activeCount: 0,
completedCount: 0
};
const registry = new Registry();
const store = createStore(todoReducer, defaultState, global.__REDUX_DEVTOOLS_EXTENSION__ && global.__REDUX_DEVTOOLS_EXTENSION__());
registry.defineInjector('application-state', new ReduxInjector(store));
const config = [
{
path: 'filter/{filter}',
outlet: 'filter',
defaultParams: {
filter: 'all'
},
defaultRoute: true
}
];
const router = registerRouterInjector(config, registry);
const Projector = ProjectorMixin(TodoAppContainer);
const projector = new Projector();
projector.setProperties({ registry });
projector.append();
示例3: Registry
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' },
defaultRoute: true
}
], registry);
projector.setProperties({ registry });
projector.append(root);