我有一个从服务中显示的项目列表,我使用 ng-repeat 来显示我的数据。对于这些项目中的任何一个,我希望能够打开一个引导模式,其中填充了所单击项目的数据(在该项目的范围内)。
myApp.directive('openmodal', function(){
return {
link: function(scope, element, attrs){
element.on('click', function(){
$(element.attr('href')).modal();
});
}
}
});
我的代码的 jsfiddle.net 在这里http://jsfiddle.net/echTw/2/
目前我的引导模式将只显示来自我的 JSON 的第一个对象的数据。如何在单击的元素范围内运行引导模式并加载数据(Angular 是否有类似 this.$ 的东西)?
编辑
不,我没有使用角带。我尝试使用指令并按照建议隔离范围,但灯箱仍将仅显示来自第一个元素的数据(不知道为什么)。
所以我更新了我的代码以使用 ng-click,一个控制器,并且还在模态中添加了动态 ID 来解决这个问题:
HTML
<a ng-click="show(task.id)">Show lightbox</a>
角
function TaskController($scope, Data){
$scope.data = Data;
$scope.show = function(e){
$('#myModal_'+e).modal();
console.log('#myModal_'+e);
}
}