我正在尝试对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;
}
})();
答案 0 :(得分:0)
元素不是jQuery,它是一个jqLite包装器。 如果你想应用jQuery,试试这个:
$j(element[0]).sortable();