2

我想在我的网页中动态使用 angular-slimscroll。该指令看起来像这样:

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

如何动态添加slimscroll="{slimscrollOption: value}"#scrolldiv 并使其与 angular-slimscroll 一起运行?

4

1 回答 1

3

您可以创建一个指令,例如:

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”以避免编译时出现无限循环。

您也可以在这里看到我的答案(我认为这与您的情况相同):如何通过从指令内部双击来添加输入的禁用状态切换?

于 2015-03-21T02:26:21.647 回答