【问题标题】:How to pass data from ASP.NET WebForms to Aurelia Global Scope如何将数据从 ASP.NET WebForms 传递到 Aurelia Global Scope
【发布时间】:2016-04-13 14:54:47
【问题描述】:

我正在从基于 Web 表单的遗留应用程序中引导 Aurelia。我的身份验证相关信息保存在 Custom Base Page 类的 web-forms 应用程序中。

如何将这些身份验证信息传递和维护到 Aurelia 的全局范围?这样我就可以在使用路由构建菜单时使用它来根据用户/角色显示/隐藏某些菜单项?

【问题讨论】:

    标签: javascript webforms aurelia


    【解决方案1】:

    您可以将逻辑放在您的自定义基本页面上,将<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...         
      }
      ...
    }
    

    【讨论】:

    • 这对我帮助很大。正如 Ajay 所说,无缝且简单。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 1970-01-01
    • 2014-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多