如何获取 UI Bootstrap 选项卡以在选项卡更改时发送事件

How to get UI Bootstrap Tabs to send an event when tab is changed

<uib-tabset type="tabs">
  <uib-tab heading="Event Workflow Activities">
    <div ng-include src="'webapp/event/EventWorkflowActivities.tpl.html'"></div>        
  </uib-tab>
</uib-tabset>

我正在使用 UI Bootstrap 像上面那样的标签页,当您在标签页之间切换时,有什么方法可以广播事件吗?

您可以使用选项卡上的 select 属性在控制器中执行广播功能。像这样:

<uib-tabset type="tabs">
    <uib-tab heading="Event Workflow Activities" select="tabSelected()">
            <div ng-include src="'webapp/event/EventWorkflowActivities.tpl.html'"></div>        
    </uib-tab>
</uib-tabset>

像上面一样添加 select 属性,指向控制器中的一个函数。我将这个命名为 tabSelected();

现在在你的控制器中创建函数:

$scope.tabSelected = function () {
    //Broadcast or emit your event here.

    // firing an event upwards
    $scope.$emit('yourEvent', 'data');

    // firing an event downwards
    $scope.$broadcast('yourEvent', {
      someProp: 'value'
    });
};

查看 documentation 了解更多信息。