J'ai défini dynamiquement le code d'identification de p en html comme suit :
<p ng-repeat="item in items">
<p id="{{item.name}}" class="ng-hide"> {{item.name}} </p>
<p>
Après l'analyse HTML, l'effet de l'ID dynamique peut être vu, similaire à ceci :
<p ng-repeat="item in items">
<p id="name1" class="ng-hide"> name1 </p>
<p id="name2" class="ng-hide"> name2 </p>
<p id="name3" class="ng-hide"> name3 </p>
<p>
Je souhaite contrôler dynamiquement si ces p sont affichés ou non. J'ai écrit ce code en js :
html:
<input type="button" ng-click="show(item.name)">
js:
$scope.show=function(name){
document.getElementById(name).style.display = "block";
}
Le résultat n'a pas produit l'effet souhaité, et trois ps s'affichaient toujours à chaque fois que je cliquais. Existe-t-il un moyen d'obtenir l'effet souhaité ?
Bien que je ne comprenne pas pourquoi, j'ai changé class="ng-hide" en style="desplay:none" et cela a fonctionné. . .
Est-il possible d'utiliser ng-show et ng-hide
Ajoutez un champ "isShow" à l'élément, la valeur par défaut est false,
Lorsque vous cliquez sur le bouton, la valeur de isShow est inversée.
Il existe deux façons de contrôler l'affichage des éléments dans angulaire.js La première est : ng-show ng-hide et l'autre est ng-if
.Il est recommandé de réorganiser vos données et d'utiliser ng-hide pour contrôler si les éléments sont masqués ou non :
Ajoutez un autre attribut, écrivez-le dans l'attribut personnalisé de p, puis ng-if rend le jugement ?
https://github.com/xufei/ng-c...