【发布时间】:2016-04-13 14:54:47
【问题描述】:
我正在从基于 Web 表单的遗留应用程序中引导 Aurelia。我的身份验证相关信息保存在 Custom Base Page 类的 web-forms 应用程序中。
如何将这些身份验证信息传递和维护到 Aurelia 的全局范围?这样我就可以在使用路由构建菜单时使用它来根据用户/角色显示/隐藏某些菜单项?
【问题讨论】:
标签: javascript webforms aurelia
我正在从基于 Web 表单的遗留应用程序中引导 Aurelia。我的身份验证相关信息保存在 Custom Base Page 类的 web-forms 应用程序中。
如何将这些身份验证信息传递和维护到 Aurelia 的全局范围?这样我就可以在使用路由构建菜单时使用它来根据用户/角色显示/隐藏某些菜单项?
【问题讨论】:
标签: javascript webforms aurelia
您可以将逻辑放在您的自定义基本页面上,将<script> 标签添加到文档的头部,从而使所有信息都可用于 javascript 应用程序:
<head>
...
<script>
window.appInfo = {
user: 'foo',
bar: 'baz'
};
</script>
</head>
<body aurelia-app="main">
...
然后在您的 aurelia 应用中,您可以根据需要访问此信息:
export class App {
constructor() {
let info = window.appInfo;
// do something with the app info...
}
...
}
您甚至可以在容器中注册对象,使您能够将其声明为依赖项。这将使您的代码更具可移植性和可测试性。
在 main.js 中:aurelia.container.registerInstance('app-info', window.appInfo);
@inject('app-info')
export class App {
constructor(info) {
// do something with the app info...
}
...
}
【讨论】: