我有一个自定义 Angular 指令,它ui-sortable
在模板中使用。最初我无法让它识别ui-sortable
,但现在它基于如何在 Angular 中的客户指令模板中包含其他指令?
现在的问题是,如果我运行它两次,因此有两个可排序的列表,两者都有适当的类和connectWith
选项,我不能从一个拖放到另一个。
<div members list="list1" title="{{title1}}" admin={{admin}}>
</div>
<div members list="list2" title="{{title2}}" admin={{admin}}>
</div>
是基本标记,指令是
myapp.directive('members',function($compile){
return {
restrict: 'A',
template: '<h4>{{title}}</h4>'+
'<ul ng-model="list" class="connectedList">' +
'<li ng-repeat="member in list" class="item">' +
' {{member}}' +
'</li>'+
'</ul>',
transclude:true,
scope: {title:'@',list:'=',admin:'@'},
link: function ($scope,$element,attrs) {
attrs.$observe('admin', function(value) {
if ($scope.admin) {
$element.find("ul").attr("ui-sortable","sortableOptions");
$compile($element.contents())($scope);
}
});
}
};
});
一个完整的工作(嗯,不工作,因此问题)在这里http://jsfiddle.net/VjfEf/9/