国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

angular.js - 關于指令link 中的創建變量問題

瀏覽:198日期:2024-10-01 16:59:03

問題描述

angular.module('myDirective',[]) .directive('tabOne',function (){return{ restrict:'E', replace:true, scope:{data:'=myData', }, transclude:true, template:’ <p ng-hide='show'>’+ ’<p ng-repeat='x in data'>’+’{{x}}’+ ’</p>’+ ’</p>’, link:function(scope,elem,attr){scope.show=true; elem.find('p').on('click',function(){ scope.show=!scope.show; console.log(scope.show);}); }} })

如問題所示我現在,在link創建一個變量show,這個show用在模板表示是否hide可是 scope.show一直顯示true?不知道問題出現在哪里求賜教給位!謝謝但是console.log(scope.show)是同步改變的啊

問題解答

回答1:

改:

elem.find('p').on('click',function(){ scope.show=!scope.show; scope.$apply();});

補充:

看文檔

angular.js - 關于指令link 中的創建變量問題

文檔說了,如果是controller里的同步操作,或者是通過$http、$timeout、$interval的異步操作,scope.$apply()是自動執行的(Angular幫你做了)。但你這里顯然不符合條件,你使用了DOM API,所以需要手動顯示的調用一下scope.$apply()

文檔地址: scope

回答2:

謝謝指教,看了文檔ng 自己很多自己的方法都會觸發apply,dom,累死settimeout的操作不會觸發apply

相關文章:
主站蜘蛛池模板: 石渠县| 衡阳县| 会理县| 长子县| 九龙坡区| 静宁县| 广西| 孙吴县| 普洱| 东山县| 柯坪县| 黄龙县| 盖州市| 仁布县| 朝阳区| 安丘市| 利津县| 华蓥市| 宾川县| 巧家县| 商洛市| 洪江市| 连江县| 灵寿县| 安龙县| 怀宁县| 昌黎县| 郸城县| 新河县| 苏尼特左旗| 皋兰县| 安多县| 鄂伦春自治旗| 卓尼县| 亳州市| 闵行区| 阳谷县| 含山县| 游戏| 舟曲县| 奉化市|