实际上,当项目是ReactJs时,你应该使用state来处理这样的问题。就像下面这样:
const [mindarImage, setMindarImage] = useState('imageTargetSrc: ./targets1.mind; filterMinCF:0.0001; filterBeta: 0.001');
<a-scene id="myScene" mindar-image={mindarImage} color-space="sRGB" renderer="colorManagement: true, physicallyCorrectLights" vr-mode-ui="enabled: false" device-orientation-permission-ui="enabled: false">
<a-assets>
<a-asset-item id="raccoonModel" src=""></a-asset-item>
</a-assets>
<a-camera position="0 0 0" look-controls="enabled: false"></a-camera>
<a-entity mindar-image-target="targetIndex: 0">
<a-gltf-model rotation="0 0 0 " position="0 -0.25 0" scale="2 2 2" src="#raccoonModel" animation-mixer>
</a-entity>
</a-scene>
每当你想改变
mindar-image
值时,你应该像下面的代码一样操作:
const newImageSrc = patternFile;
setMindarImage(`imageTargetSrc: ${newImageSrc}; filterMinCF:0.0001; filterBeta: 0.001`)