【问题标题】:How to get UI Bootstrap Tabs to send an event when tab is changed如何让 UI Bootstrap 选项卡在选项卡更改时发送事件
【发布时间】:2016-03-08 20:03:32
【问题描述】:
<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 引导选项卡,当您在选项卡之间切换时,有什么方法可以广播事件?

【问题讨论】:

    标签: angularjs twitter-bootstrap-3 tabs event-handling angular-ui-bootstrap


    【解决方案1】:

    您可以使用选项卡上的 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 了解更多信息。

    【讨论】:

    • 对于那些使用控制器作为语法和中继器的人,这看起来像 select="myCtrl.tabSelected(tab.someProperty)"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多