【发布时间】:2020-11-11 04:19:14
【问题描述】:
我正在尝试弄清楚如何将 mixins 用作一种状态。
但是我遇到了一个问题,当我有一个已经有 mixin 的元素然后尝试更新该元素的 mixin 值时。它确实更改了 mixin,但不会将旧 mixin 的属性更改为新的 mixin
默认情况下,元素具有makeitblue mixin,但在超时后它会获得makeitred mixin。
但正如您从示例中看到的那样,它确实改变了 mixin,但它并没有改变元素属性(我也得到了很多空属性)。
<head>
<script src="https://aframe.io/releases/1.0.4/aframe.min.js"></script>
<script>
AFRAME.registerComponent('test-element', {
init: function () {
let element = this.el;
setTimeout(function(){
element.setAttribute('mixin', 'makeitred')
}, 3000);
},
});
</script>
</head>
<body>
<a-scene>
<a-assets>
<a-mixin id="makeitred" position="-2 0.5 -3" material="color: red"></a-mixin>
<a-mixin id="makeitblue" position="2 0.5 -3" material="color: blue"></a-mixin>
</a-assets>
<a-cylinder test-element mixin="makeitblue"></a-cylinder>
</a-scene>
</body>
</html>
【问题讨论】:
标签: javascript aframe