javascript - Aurelia 以 PHP 传递的参数开头

标签 javascript php html startup aurelia

我需要在开始时将参数传递给 Aurelia。根据传递的值,应用程序将具有不同的状态。此应用程序注入(inject)到使用 PHP 构建的页面上,因此最好的方法是使用 PHP 代码指定的参数启动它。有什么办法吗?

最佳答案

您可以在普通 JS 中访问的任何数据都可以使用 Aurelia 访问。也许您可以使用 data-* 属性来做到这一点?当您通过执行 aurelia-app="main"使用 main 文件时,您传递给配置方法的框架实例有一个 host 属性,它是框架附加到的元素。您可以在此元素上放置data-*属性,然后通过此元素的dataset` 属性访问它们 (IE11+ https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset )。

你的 index.html 或等价物可能有这样的东西:

  <body aurelia-app="main"  
        data-param1="value1" 
        data-param2="value2">

您的 main.js 然后可以轻松访问这些值:

export function configure(aurelia) {
  aurelia.use
    .standardConfiguration()
    .developmentLogging();

  aurelia.container.registerInstance('serverData', 
    Object.assign({}, aurelia.host.dataset))

  aurelia.start().then(() => aurelia.setRoot());  
}

这是一个可运行的例子:https://gist.run/?id=55eae2944b00b11357868262e095d28c

如果您在属性值周围使用单引号,您甚至可以将 JSON 放入数据属性中:https://gist.run/?id=57417139aa8c0c66b241c047efddf3dd

编辑:我根据 Jeremy Danyow 发布的类似答案改进了这个答案。两个链接的要点也已更新。

关于javascript - Aurelia 以 PHP 传递的参数开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40024102/

相关文章:

javascript - 动态设置页面背景图片

javascript - 为什么 Javascript 返回 [object Object]?

javascript - 如何在 JavaScript 中创建 aes-256 加密

javascript - jQuery 自定义滚动条插件不随 horizo​​ntalScroll 更新 : true

javascript:取消各种请求

javascript - 如何在WordPress中实现自定义逻辑?

php - 从表中选择逗号分隔的记录以及用户图像

php - 创建 whmcs 6 feed 以检查客户端是否已登录

html - 我怎样才能让这个 <div> 居中?

html - CSS 显示 :inline-block changes text size on mobile?