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

ua_*_*oaz 4 tabs event-handling angularjs angular-ui-bootstrap twitter-bootstrap-3

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

我正在使用上面的UI Bootstrap选项卡,当你在标签之间切换时有没有办法让广播事件?

nwe*_*weg 13

您可以使用选项卡上的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>
Run Code Online (Sandbox Code Playgroud)

添加上面的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'
    });
};
Run Code Online (Sandbox Code Playgroud)

查看文档以获取更多信息.