使用angular指令中的jquery不起作用

时间:2016-11-06 01:32:38

标签: javascript jquery angularjs jquery-ui jquery-ui-sortable

我正在尝试对ng-repeat中的元素实现jquery-ui的可排序。

问题:我实际上无法对ng-repeat中的元素执行可排序操作。

我已经检查了答案。我的代码似乎与大多数答案类似,但显然有效,但我的代码不起作用

以下是html代码段:

<div class="container-fluid rt-widget-list-dim-adj">
    <div my-dir>
        <div ng-repeat="widget in model.widgets" ng-switch="widget.widgetType">
            <div ng-switch-when="HEADER">
                <ng-include src="'views/widget/widget-header.view.client.html'">
            </div>
            <div ng-switch-when="IMAGE">
                <ng-include src="'views/widget/widget-image.view.client.html'">
            </div>
            <div ng-switch-when="YOUTUBE">
                <ng-include src="'views/widget/widget-youtube.view.client.html'">
            </div>
        </div>
    </div>
</div>

我的app.js:

(function(){
    angular.module("myApp", ['ngRoute', 'myDir']);
})();
下面的

是我的自定义指令:

(function () {
    angular
        .module("myApp", [])
        .directive("myDir", makeSortable);

    function makeSortable() {
        var directive = {
            restrict : 'ACE',
            link : linker
        };
        function linker(scope, element, attrb) {
            element.sortable();
        }
        return directive;
    }
})();

1 个答案:

答案 0 :(得分:0)

链接器函数args中的

元素不是jQuery,它是一个jqLit​​e包装器。 如果你想应用jQuery,试试这个:

$j(element[0]).sortable();