如何在 aframe 中以编程方式创建 a-assets?

how can I create a-assets programmatically in aframe?

我正在使用 cloudinary 为平面提供纹理。我已经为 cloudinary 创建了一个后端,这样我就可以替换 cloudinary 上的图像,但是为了反映在我的 aframe 应用程序上,我需要在每次有人加载页面时更改 URL 中的版本我如何设置 a-assets为此,我以编程方式尝试创建一个 addasset 组件并将其附加到 a-assets 但它在这里不起作用是我创建的代码片段

如果有一种方法可以通过发出任何事件来重新加载 a-assets,请告知,因为这也可以 img 已添加到 a-assets 我在 chrome 调试工具

中对其进行了检查
AFRAME.registerComponent('addasset', {
  init: function() {
    var version = Math.floor(Math.random() * 101);
    var str = "https://res.cloudinary.com/blinklink-solutions/image/upload/v" + version + "/v1/Fizan%20Polarized%20Sunglasses.jpeg.jpg"
    // var str="https://res.cloudinary.com/blinklink-solutions/image/upload/v"+version+"/eyesdeal%20texture/dialogleft.png"
    var assets = document.getElementById('assets');
    var img = document.createElement("img");
    img.setAttribute("id", "off1");
    img.setAttribute("src", str);
    console.log(assets);
    console.log(str);
    assets.appendChild(img);
    var plane = document.getElementById("offer_plane");
    plane.setAttribute("src", "#off1")
  },
});

a-assets用于在场景开始渲染之前预取资源。加载后修改它没有意义。两个选项:

  1. 不要使用a-assets并在运行时在平面上设置正确的图像URL。例如; planeEl.setAttribute('src', 'url(xxx)');
  2. 生成您的 HTML 服务器端并在将页面发送到客户端之前使用正确的 URL 填充 a-assets。