Comment créer dynamiquement $portée de variable et de fonction dans angular JS
J'ai essayer de créer dynamiquement $portée de la variable et la fonction et l'appel à la ng-cliquez sur la directive.
Mon scénario est d'appeler dynamiquement en fonction ng-repeat & ng-click.
Json
{
"listnames": [
{ name: rock, age: 24, year: 1999},
{ name: rock1, age: 24, year: 1999},
{ name: rock2, age: 24, year: 1999},
{ name: rock3, age: 24, year: 1999}
]
}
dans view.html fichier
<td ng-repeat="list in listnames.name track by $index" class="smallbox_{{$index}}" ng-class="{'showblock': isbox_{{$index}}, 'hideBlock': !isbox_{{$index}}}" ng-click="isshowhide{{$index}}_new()" >
je.e veux dire que
<td ng-repeat="list in listnames.name track by $index" class="smallbox_0" ng-class="{'showblock': isbox_0, 'hideBlock': !isbox_0}" ng-click="isshowhide0_new()" >
<td ng-repeat="list in listnames.name track by $index" class="smallbox_1" ng-class="{'showblock': isbox_1, 'hideBlock': !isbox_1}" ng-click="isshowhide1_new()" >
donc.. sur...
Dans Controller.js fichier
$scope.isshowhide0_new = function(){
$scope.isbox_0 = !$scope.isbox_0;
}
$scope.isshowhide1_new = function(){
$scope.isbox_1 = !$scope.isbox_1;
}
Mais, j'ai besoin de la solution de créer dynamiquement en fonction d'appel d' $et de portée variable.
similaire comme ça...
for(var i=0; i< 288; i++){
$scope.isshowhide[i]_new = function(){
$scope.isbox_[i] = !$scope.isbox_[i];
}
OU
$scope.isshowhide{{i}}_new = function(){
$scope.isbox_{{i}} = !$scope.isbox_{{i}};
}
Est-il possible de ce type de solution en Angular JS.
Donc, je peux appeler une fonction dynamique & $portée variable à l'aide de $indice
ng-click="isshowhide0_new();"
ng-click="isshowhide1_new();"
ng-click="isshowhide2_new();"
ng-click="isshowhide3_new();" ...
OU
ng-classe="{'showblock': isbox_0, 'hideBlock': !isbox_0}"
ng-classe="{'showblock': isbox_1, 'hideBlock': !isbox_1}"
ng-classe="{'showblock': isbox_2, 'hideBlock': !isbox_2}"
J'espère que vous comprenez exactement ce que j'ai besoin..
Alors, il vous plaît quelqu'un, Pouvez-vous me donner la solution et de mettre en œuvre ce type de fonctionnalité.
J'ai un code en œuvre pour objectif de test. http://jsfiddle.net/twc7Lbe3/
Veuillez modifier ce code et laissez-moi savoir. Également fournir une solution si c'est possible il.
Vous devez vous connecter pour publier un commentaire.
Vous ne savez qu'en javascript:
Donc, si vous le voulez vraiment, vous pouvez:
Et puis:
Une solution consiste à utiliser un tableau à contrôler l'afficher/masquer le bloc de classes:
Et dans le contrôleur de remplir votre
isbox
tableau avec les booléens:Ne sais pas si c'est ce que vous cherchez, mais vous avez ici une mise à jour de violon