我使用角度带显示3个选项卡面板。我用我的tabbed-Panel指令来包裹角度带bs-tabs指令。我这样做将来我可以用我的指令为整个标签面板制作动画。它显示正常。我无法弄清楚的是,如何使用我的指令来处理制表符(ng-repeat对象)上的点击。我在我的指令中有一个控制器,我用它来显示标签数据,但我无法弄清楚如何使它处理标签点击(onTabClick)...这是正确的方式来做到这一点,或者我应该使用链接(我在下面注释)?Angularjs:如何处理使用指令控制器点击ng-repeat?
HTML:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<tabbed-Panel class="bottomTabPanel">
<div data-fade="1" ngModel="activeTab" bs-Tabs>
<div ng-repeat="tab in tabs" data-title="{{tab.title}}">
<p ng-click="onTabClick(tab)">{{tab.content}}</p>
</div>
</div>
</tabbed-Panel>
</body>
</html>
指令:
angular.module('directives', ['opsimut','$strap.directives'])
.directive('tabbedPanel',function() {
return {
restrict:"E",
controller: function($scope) {
$scope.tabs = [
{title:'Question 1', content: 'Question 1 content here'},
{title:'Question 2', content: 'Question 2 content here'},
{title:'Indication', content: 'Indication content here'}
];
$scope.tabs.activeTab = 2;
$scope.onTabClick = function(tab) {
debugger;
}
}
};
});
我看不错。 [这是你的代码在普拉克(http://plunker.co/edit/iOWOMOTNqwQ88IjTO1Nd?p=preview) – rGil
@rGil您普拉克缺少角带拉,我在想,是什么原因造成我的点击事件被截获......我认为这就是xmltechgeek下面提到的。 – Mike6679