[英]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.