本文整理汇总了TypeScript中@dojo/routing/Outlet.Outlet函数的典型用法代码示例。如果您正苦于以下问题:TypeScript Outlet函数的具体用法?TypeScript Outlet怎么用?TypeScript Outlet使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Outlet函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: Outlet
import { Outlet } from '@dojo/routing/Outlet';
import { MapParamsOptions } from '@dojo/routing/interfaces';
const mapParams = ({ params }: MapParamsOptions) => {
return {
slug: params.slug
};
};
export const EditorNewOutlet = Outlet({ index: 'editor' }, 'new-post', { mapParams });
export const EditorEditOutlet = Outlet('editor', 'edit-post', { mapParams });
示例2: Outlet
import { Outlet } from '@dojo/routing/Outlet';
export const RegisterOutlet = Outlet('register', 'register');
示例3: Outlet
import { Outlet } from '@dojo/routing/Outlet';
export const SettingsOutlet = Outlet('settings', 'settings');
示例4: Outlet
import { Outlet } from '@dojo/routing/Outlet';
import { MapParamsOptions } from '@dojo/routing/interfaces';
import { TodoList } from './../widgets/TodoList';
export const TodoListOutlet = Outlet(TodoList, 'filter', { mapParams: ({ params, router }: MapParamsOptions) => {
return { filter: params.filter };
}});
export default TodoListOutlet;
示例5: filter
}
function filter(filterName: string = 'all', todo: Todo): boolean {
switch (filterName) {
case 'completed':
return !!todo.completed;
case 'active':
return !todo.completed;
default:
return true;
}
}
function mapFilterRouteParam({ params }: any) {
return { activeFilter: params.filter };
}
@theme(css)
export default class TodoList extends ThemedMixin(WidgetBase)<TodoListProperties> {
protected render() {
const { activeFilter, todos, toggleTodo, editTodo, updateTodo, removeTodo } = this.properties;
const todoItems = arrayFrom(todos.entries()).filter(([ , value ]) => filter(activeFilter, value));
return v('ul', { classes: this.theme(css.todoList) }, todoItems.map(([ key, todo ]) => {
return w(TodoItem, { key, todo, toggleTodo, editTodo, removeTodo, updateTodo });
}));
}
}
export const TodoListOutlet = Outlet(TodoList, 'filter', { mapParams: mapFilterRouteParam });
示例6: Outlet
import { Outlet } from '@dojo/routing/Outlet';
import { MapParamsOptions } from '@dojo/routing/interfaces';
import { TodoDetailsContainer } from './../containers/TodoDetailsContainer';
export const TodoDetailsOutlet = Outlet(TodoDetailsContainer, 'edit', { mapParams: ({ params, router }) => {
return {
id: params.id,
onRequestExit() {
const link = router.link('view');
link && router.setPath(link);
}
};
}});
示例7: Outlet
import { Outlet } from '@dojo/routing/Outlet';
export const LoginOutlet = Outlet('login', 'login');
示例8: Registry
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' },
defaultRoute: true
示例9: Outlet
import { Outlet } from '@dojo/routing/Outlet';
import { MapParamsOptions } from '@dojo/routing/interfaces';
import { TodoFooter } from './../widgets/TodoFooter';
export const TodoFooterOutlet = Outlet(TodoFooter, 'view', { mapParams: ({ queryParams, params }) => {
return { view: params.view, filter: queryParams.filter };
}});
示例10: Outlet
import { Outlet } from '@dojo/routing/Outlet';
import { MapParamsOptions } from '@dojo/routing/interfaces';
import { TodoFooter } from './../widgets/TodoFooter';
export const TodoFooterOutlet = Outlet(TodoFooter, 'filter', { mapParams: ({ params }: MapParamsOptions) => {
return { filter: params.filter };
}});
export default TodoFooterOutlet;