【问题标题】:Aurelia send config/parameters on initialisation aurelia-appAurelia 在初始化时发送配置/参数 aurelia-app
【发布时间】:2019-04-02 21:18:11
【问题描述】:

在初始化 Aurelia 应用程序时,有什么方法可以发送配置参数吗?

<div aurelia-app="my-app/main"></div>

这就是我启动我的 aurelia 应用程序然后

<script>
  System.import('aurelia-bootstrapper');
</script>

我想做这样的事情:

<div aurelia-app="my-app/main" param1="something" param2="false"></div>

现在我将它们设置为 data-param1 属性,然后在控制器中获取值,例如 Element.dataset.param1

有没有更好的方法来做到这一点?

【问题讨论】:

  • 我认为你所得到的东西非常适合它。您可以选择在页面中嵌入一些 JSON,但我认为您的方法没有任何问题。
  • 我所拥有的还不错,但我一直在寻找更好的东西。使用 data- 属性我只能发送“文本”,当然我可以发送一个字符串化对象,然后在我的 JS 上解析它,但我想要更好的东西。谢谢!
  • 如果它是从您的服务器嵌入的内容,那么就没有别的办法了。否则,您可以利用引导配置函数的异步特性来动态获取数据

标签: aurelia


【解决方案1】:

我找到了一种我认为效果很好的方法。当我使用 SystemJS 时,我发现在初始化我的 Aurelia 应用程序时我可以做这样的事情:

System.set('my-config', System.newModule({
  Params: {
    param1: true,
    param2: 'something',
    param3: [
      {
        name: 'whatever',
      },
    ]
  }
}));

System.import('aurelia-bootstrapper');

然后,Params 模块在整个应用程序中都可用,因此我可以导入并使用它:

import {inject} from 'aurelia-framework';
import {Params} from 'my-config';

@inject(Params)
export class MyComponent {
  constructor(params) {
    //params.param1 etc...
  }
}

在我看来非常方便。希望对你有帮助!

【讨论】:

    猜你喜欢
    • 2016-11-25
    • 2016-11-22
    • 2023-04-01
    • 2017-12-17
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    相关资源
    最近更新 更多