Puis-je utiliser Angulaire de variables comme la source d'une balise audio?
Je suis en train de faire ce qui suit:
<div ng-repeat="audio in event.audios">
<audio ng-src="/data/media/{{audio}}" controls></audio>
</div>
Mais lorsque je charge le point de vue, le {{audio}} la variable n'est pas analysé mais codé en dur dans le code source tel qu'il est. Cependant, si par exemple, je place cette même variable à l'extérieur de la balise audio il rend le nom du fichier audio correctement. J'ai essayé d'utiliser à la fois de la src et de ng-src en vain.
Est-il un moyen de récupérer la variable de travailler au sein d'une balise audio?
Merci d'avance.
- Pense que c'est une autre affaire, dans le lien que vous avez posté la variable, il utilise les rend bien, mais la vidéo n'est pas lue. Dans mon cas, la variable n'est pas analysée. Je suis également de l'utiliser dans un ng-repeat.
Vous devez vous connecter pour publier un commentaire.
je ne suis pas du tout que familier avec la ngSrc directive à l'extérieur de l'utiliser sur des images, mais il peut avoir besoin d'une balise img quelque part dans la source.Essayez ceci:
ng-attr - directive peut être utilisée pour n'importe quel attribut qui n'ont pas de rôle spécifique dans angulaire. Vous pouvez en lire plus à ce sujet sur cette page.
Mise à jour, j'ai eu tort.
J'ai créé un jsfiddle et a trouvé l'erreur qui a été produit.
Vous obtenez une erreur de la sec, service. Voir le DONC, la question ici.
La solution est d'utiliser
$sce.trustAsResourceUrl()
.Exemple:
Voici le violon.
Mise à jour #2
Si vous ne souhaitez pas définir l'url comme codés en dur ou en boucle après que vous obtenez une réponse du serveur, vous pouvez utiliser un filtre personnalisé pour accomplir ce que vous cherchez. Cette méthode ne permet pas d'utiliser l'interpolation, qui est l'endroit où l'erreur est levée.
JS:
HTML:
Et la nouveau violon.
audio
dans un filtre qui ne échapper. Je vais mettre à jour ma réponse.Ok, merci pour theJoeBiz d'entrée et de réflexion autour de j'ai résolu ce problème en faisant une directive, voici le code:
Puis sur le modèle, je l'ai utilisé comme:
Il est tout fonctionne bien maintenant.
Hey FWIW, j'ai trouvé cette page, vous cherchez une solution pour modèle d'URL pour ma balise audio. Cependant, je suis à l'aide de plusieurs balises de la source de la croix-prise en charge du navigateur:
D'abord, j'ai résolu SCE questions par liste blanche *.ogg, *.mp3: (garder le " moi " sinon vos demandes futures échec)
Ce cessé de donner des SCE erreurs, mais Firefox déclaré "pas de source" et n'a pas remarqué la
src
tag angulaire ajouté.La dernière étape a été d'appeler la charge sur l'élément de confiance et de réglage
$scope.sceSoundUrlMp3
:$('#myAudioTag')[0].load()
J'ai utilisé
$sce.trustAsResourceUrl("/data/media/" + newVal)
mais il ne fonctionne pas pour.Ce qui semblait fonctionner pour moi a été de mettredocument.getElementById('player').src = {{url}}
dans le contrôleur de
Espère que ça aide quelqu'un d'autre