2

Web ページで angular-slimscroll を動的に使用したいと考えています。ディレクティブは次のようになります。

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

slimscroll="{slimscrollOption: value}"動的に div に追加し#scrollて 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>

重要なのは、angular-slimscroll を動的に追加するには、要素を再度 $compile する必要があることです。また、コンパイル中に無限ループを回避するために属性「my-scroll」を削除します。

ここでも私の答えを見ることができます(あなたのケースと同じだと思います):ディレクティブ内からダブルクリックして入力の無効状態のトグルを追加する方法は?

于 2015-03-21T02:26:21.647 に答える