uib-tabset指令有条件地加载

时间:2017-09-14 16:30:06

标签: angularjs

我有一个uib-tabset如下。

<uib-tabset active="activeJustified" justified="true">
    <uib-tab index="0" heading="Address" >
        <by-adr></by-adr>

    </uib-tab>
    <uib-tab index="1" heading="country" >
       <by-country></by-country>
    </uib-tab>

当页面加载我的数据库调用时,两个指令的控制器被调用而不是我想调用控制器里面的指令只有在选中选项卡时才能被调用。有些机构帮助我。当国家选项卡是选择然后我应该在by-country指令中调用数据库调用。而不是一次加载所有。我正在使用angularJS 1.x

我正在尝试仅在选中选项卡时加载指令。例如,当我单击country选项卡时,我希望加载by-country指令。

1 个答案:

答案 0 :(得分:0)

我不知道您的完整代码,但您可以执行以下操作:

$广播

从数据库加载数据后,您可以向您的指令触发事件(假设它们已经加载)

在根控制器中:

$rootScope.$broadcast('onDBLoaded', {});

并在指令控制器中:

$scope.$on("onDBLoaded", function() {
   run();  // run your main logic
});