簡體   English   中英

擴展angular-carousel指令(模板+ ng-show綁定)

[英]extend angular-carousel directive (template + ng-show binding)

我正在嘗試擴展revolunet / angular-carousel的'rnCarouselControls'指令。 當沒有重點關注圖像時,我想使用隱藏邏輯(隱藏箭頭)進行擴展。 我讀過“理解指令”一文,似乎堆棧技術可以幫助但不能使它起作用。 嘗試使用https://stackoverflow.com/a/19228302/1407492此解決方案

app.directive('rnCarouselControls', function ($compile) {
      return {
          restrict: 'A',
          replace: true,
          priority: 1000,
          terminal:true,
          compile: function compile(element, attrs) {
              element.removeAttr("rn-carousel-controls");
              element.attr('ng-show', '$parent.activecontrols');
              return {
                  pre: function preLink(scope, iElement, iAttrs, controller) { },
                  post: function postLink(scope, iElement, iAttrs, controller) {
                      $compile(iElement)(scope);

                  }
              };
          }
      };
  })

如果terminal=true則不會觸發第二條指令。 來自公認的答案:

編譯我們的自定義指令時,它將通過添加指令並刪除自身來修改元素,並使用$ compile服務來編譯所有指令(包括已跳過的指令)。

此指令不正確。

因此,正如我所評論的,解決方案是僅通過CSS實現:

.carousel-control{
  visibility:hidden;
}

然后顯示

carousel:focus .carousel-control{
  visibility:visible;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM