2017-08-10 1 views
0

J'essaie de cacher/montrer le vr-mode-ui du A-Frame dynamiquement basé sur certaines règles dans mon code. Initally le <a-scene> ressemble à ceci:Activer dynamiquement vr-mode-ui de A-Frame

<a-scene id="vr-scene" vr-mode-ui="enabled: false"> 

Dans mon contrôleur, je suis en train d'activer et de désactiver la base d'un drapeau:

let scene = document.querySelector('#vr-scene'); 
if (showVR) { 
    scene.setAttribute('vr-mode-ui', 'enabled: true'); 
} else { 
scene.setAttribute('vr-mode-ui', 'enabled: false'); 
} 

Mais le moment cette bascule arrive, je reçois une erreur console qui se lit comme ceci: TypeError: Cannot read property 'removeChild' of null

S'il vous plaît aviser ce qui se passe ici. Y a-t-il un meilleur moyen d'activer/désactiver le bouton VR?

est ici simple codepen: https://codepen.io/anon/pen/BdZWdz

étapes:

  1. Cliquez sur Activer
  2. Cliquez sur Désactiver
  3. Cliquez sur Activer (bouton VR ne vient pas)
+0

Vous essayez peut-être de le désactiver quand il est déjà désactivé? – ngokevin

+0

Il y a 2 problèmes ici, le 'scene.setAttribute ('vr-mode-ui', 'enabled: true');' ne ramène pas le bouton vr. Donc, la prochaine fois que ça passe dans 'else', il est toujours désactivé et donc l'erreur. Des idées pour lesquelles la partie 'enabled' ne le ramène pas! – Mustang

+0

@ngokevin: J'ai ajouté un codepen pour montrer le problème que je rencontre. Regardez ceci, s'il vous plaît. Apprécier ton aide. – Mustang

Répondre

0

Actuellement le composant ne supporte pas l'activation/désactivation d'une grande partie du bouton. Plus d'une chose unique. Cela peut être corrigé mais va générer un problème.

En attendant, il serait plus facile de simplement basculer la visibilité du bouton en utilisant le CSS:

document.querySelector('.a-enter-vr-button').style.visible = 'none'; 
+0

Merci. Cela a fonctionné. Un de mes collègues m'a aidé à comprendre qu'il s'agissait d'un bug et il m'a en fait donné la même solution que la vôtre. – Mustang