Aurelia start setRoot 给出错误 未指定应用程序主机



使用以下代码:

import { Aurelia } from "aurelia-framework";
export async function configure(aurelia) {
  aurelia.use.standardConfiguration().developmentLogging();
  await aurelia
    .start()
    .then(a => a.setRoot())
    //.then(a => a.setRoot("app.js", document.body))
    .catch(ex => {
      document.body.textContent = `Bootstrap error: ${ex}`;
    });
}

我收到此错误:

引导错误: 错误: 未指定应用程序主机。

如果我切换到使用.then(a => a.setRoot("app.js", document.body))而不是.then(a => a.setRoot())一切正常。

在Aurelias自己的快速入门指南中,他们使用以下代码:

import {Aurelia} from 'aurelia-framework';
export function configure(aurelia: Aurelia) {
    aurelia.use.basicConfiguration();
    aurelia.start().then(() => aurelia.setRoot());
}

如果我在代码中切换到use.basicConfiguration,我仍然会收到相同的错误。

https://aurelia.io/docs/tutorials/creating-a-todo-app#getting-ready-to-render

要重现的代码沙盒:

https://codesandbox.io/s/0x4wvlly90

在自动引导中,aurelia-bootstrapper 检测具有aurelia-app属性的元素,并根据指定的值,将主条目加载到引导程序,其中包含有关哪些元素托管这些aurelia-app属性的信息。这就是为什么你可以在没有任何争论的情况下做setRoot()。第一个参数app.js,第二个参数由上述检测自动提供。

当您像在问题代码块中一样手动引导时,没有关于 root 的信息,因此您看到的错误。因此,您提供第二个参数是正确的标准方法。

相关内容

  • 没有找到相关文章

最新更新