我正在从基于 Web 表单的遗留应用程序引导 Aurelia。我的身份验证相关信息在自定义基页类的 Web 表单应用程序中维护。
我如何将此身份验证信息传递和维护到 Aurelia 的全局范围?这样我就可以在使用路由构建菜单时使用它来根据用户/Angular 色显示/隐藏某些菜单项?
最佳答案
您可以将逻辑添加到您的自定义基页中以添加 <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...
}
...
}
关于javascript - 如何将数据从 ASP.NET WebForms 传递到 Aurelia Global Scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36602231/