aframe:在jade下将数据传递给模板时出错

时间:2017-09-11 10:45:58

标签: aframe

我正在使用jade(pug)来动态创建所需的HTML页面。这包括创建aframe标签。使用kframe模板组件时出现错误。

a-scene(embedded)
  a-assets
    script#boxesTemplate(type='text/x-jade-template')
      a-box(color="${color1}")
  a-entity(template='src: #boxesTemplate;', data-color1="blue", position="1 0 1")
  a-entity(template='src: #boxesTemplate;', data-color1="red", position="3 0 2")

生成的HTML标记看起来不错。但是,javascript控制台显示:

THREE.Color: Unknown color ${color1}

为什么会出现这种情况?感谢。

拉​​吉

1 个答案:

答案 0 :(得分:0)

这不完全是你喜欢的,但这两个例子对我有用:

a-assets
  script#boxesTemplate1(type="text/x-html-template").
    <a-box color="${box}" position="-1 0 -5"></a-box>
  script#boxesTemplate2(type="text/x-nunjucks-template").
    <a-box color="{{box}}" position="1 0 -5"></a-box>

a-entity(template="src: #boxesTemplate1" data-box="red")
a-entity(template="src: #boxesTemplate2" data-box="blue")

也许模板的type属性定义了'vars'的语法。也许text / x-jade-template与整个文件冲突。

此外,在html文件(不是jade文件)中,这有效:

<a-scene>
  <script id="boxesTemplate3" type="text/x-jade-template">
    a-box(color="#{box}" position="0 1 -5")
  </script>
</a-assets>
<a-entity template="src: #boxesTemplate3" data-box="green"></a-entity>

¡saludos!