我想在我的网页中动态使用角度倾斜滚动。该指令如下所示:

<div id="scroll" slimscroll="{slimscrollOption: value}">
    Scroll Content
</div>


如何动态地将slimscroll="{slimscrollOption: value}"添加到#scroll div并使其与angular-slimscroll一起起作用?

最佳答案

您可以创建一个指令,诸如此类:

JS

angular.module('myApp',[])
.controller('MyCtrl', function ($scope) {})
.directive('myScroll', ['$compile', function($compile) {
    return {
        scope: true,
        link: function(scope, element, attrs) {

            element.attr('slimscroll', '{slimscrollOption: value}');
            element.removeAttr('my-scroll');
            $compile(element)(scope);

        }
    };
}]);


的HTML

<div id="scroll" my-scroll>
    Scroll Content
</div>


关键是您需要再次$ compile该元素以动态添加angular-slimscroll。并删除属性“ my-scroll”以在编译时避免无限循环。

您也可以在这里看到我的答案(我认为与您的情况相同):How to add toggling of the disabled state of an input via double click from inside a directive?

09-25 17:14