angulaire.js - problème d'ajout de lien de directive angulairejs
ringa_lee
ringa_lee 2017-05-15 17:03:31
0
1
466
<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_lee
ringa_lee

ringa_lee

répondre à tous(1)
習慣沉默

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 ?

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal