javascript - 如何将数据从 ASP.NET WebForms 传递到 Aurelia Global Scope

标签 javascript webforms aurelia

我正在从基于 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/

相关文章:

javascript - 防止在 ios 上或在字体大小为 16px 及以下的任何其他设备上缩放表单字段的最佳解决方案?

javascript - asp.net使用jquery和javascript来确定与按钮匹配的文本框ID的中间部分

javascript - 尝试加载临时 Web Worker 时出现错误 "Reflect.defineMetadata"

javascript - html5数字输入步长和精度

javascript - Aurelia npm 安装 : tons of "gyp ERR"

typescript - toastr.js 如何在 Aurelia 和 Typescript 中工作?

Javascript:通过单击和拖动 map 标记获取坐标

javascript - 在 Meteor 中获取嵌套 JSON 格式的数据

javascript - JQuery加载方法中使用post传递数据

asp.net - 如何在页面中有条件地渲染 CSS