问题描述
<p class='tab'> <p ng-transclude ></p> <i ng-show='show'>X</i> <i 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中这个问题请教了
问题解答
回答1:看你的代码,点击p标签的时候,应该scope.choiceme和elem.find('p').on('click'都触发了吧?
这合理么?

