gpt4 book ai didi

javascript - Aura 组件没有任何 DOM 元素?

转载 作者:行者123 更新时间:2023-12-03 10:37:32 24 4
gpt4 key购买 nike

关于 Aura.js 'Getting Started ' 页面(目前已关闭,因此这是 Google 缓存链接),内容如下:

The other way to start components on application start is to explicitly pass a list to the app.start method. Example:

`app.start([{ name: 'hello', options: { el: '#hello' } }]);`

All listed components MUST have at least the name and options.el defined, where name is the name of the component to start and options.el is a DOM selector to target the DOM Element that will be the root of your component.

因此,Aura 似乎要求每个模块/组件必须有一个关联的 DOM 元素。这是正确的吗?

在我的应用程序中,我希望有一些模块纯粹用于运行长时间的后台计算,这些计算不应与任何 DOM 元素关联。它们将计算结果发送到处理显示的其他模块。

我喜欢 Aura.js(中介器/模块 + MVC)背后的哲学,但我真的不想对其进行过多的修改。任何见解将不胜感激。也许我误解了什么?也许有一个更适合我的框架?

谢谢!

最佳答案

该组件需要关联的 DOM 元素,但不要求 DOM 元素在页面上可见,只需在 DOM 内可访问即可。您可以创建一个地方来放置不可见组件,如下所示:

$("body").append('<div id="invisbleComponents" style="display:none"></div>');

然后您可以创建一个方法来启动组件并自动将它们转储到不可见的 div 中:

var startComponent = function(c) {
$('<div data-aura-component="' + c + '" id="' + c + 'Options"></div>').appendTo("#invisibleComponents);
app.start([{ name: c, options: { el: '#' + c + 'Options' } }]);
};

因此,要启动名为“myComponent”的组件,您只需进行调用:

startComponent('myComponent');

关于javascript - Aura 组件没有任何 DOM 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28933317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com