recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - problème d'ajout de lien de directive angulairejs

<p class="tab">
    <p ng-transclude class="click" ></p>
    <i class="iconfont" ng-show="show">X</i>
    <i class="iconfont" ng-show="show1">Y</i>
    <p ng-hide="show">
        <p ng-repeat="x in data" ng-click="choiceme(x)">
            {{x}}
        </p>
    </p>
</p>
link:function(scope,elem,attr){
                scope.show=true;
                scope.show1=false;
             
                scope.choiceme=function (i){
                    
                    console.log(scope.show,scope.show1);
                    scope.show1=!scope.show1;
                    scope.show =!scope.show;
                    console.log(scope.show,scope.show1);
                };
                  elem.find("p").on("click",function(){{
                    scope.show=!scope.show;
                          console.log(scope.show,scope.show1);
                    scope.$apply();
                });
            }

Le problème actuel est très étrange. L'événement ng-click déclenchera automatiquement l'application. Cependant, l'état de scope.show dans Choiceme() a effectivement changé, mais il n'est pas synchronisé avec le Dom. ce problème.

ringa_leeringa_lee2830 Il y a quelques jours485

répondre à tous(1)je répondrai

  • 習慣沉默

    習慣沉默2017-05-15 17:05:31

    En regardant votre code, lorsque vous cliquez sur la balise p, scope.choiceme et elem.find("p").on("click" devraient être déclenchés, n'est-ce pas ?

    Est-ce raisonnable ?

    répondre
    0
  • Annulerrépondre