搜尋

首頁  >  問答  >  主體

angular.js - angularjs 指令link 追加問題

<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();
                });
            }

現在的問題出現的很詭異就是ng-click事件會自動觸發apply可是choiceme()中scope.show的狀態的確是變化了可是沒有同步到Dom中這個問題請教了

ringa_leeringa_lee2830 天前488

全部回覆(1)我來回復

  • 習慣沉默

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

    看你的程式碼,點擊p标签的时候,应该scope.choicemeelem.find("p").on("click"都觸發了吧?

    這合理麼?

    回覆
    0
  • 取消回覆