Angular bootstrap延迟加载选项卡,自动选择选项卡

时间:2014-06-25 12:19:20

标签: angularjs angular-ui-bootstrap

我正在使用角度bootstrap ui的标签。我已经覆盖了tabs指令,以便执行延迟加载数据 相同的Plunkr链接:http://plnkr.co/edit/uAb3TrKtxoPPXx8mekRz?p=preview

延迟加载完美无缺。但是,我需要根据某些属性动态选择选项卡。

例如,我尝试了以下

 <div class="row" ng-controller="TabCtrl">

     <tabset>
         <tab title="Tab 1" template-url="tab1.html"  active="{{tab1stat}}"></tab>
         <tab title="Tab 2" template-url="tab2.html" active="{{tab2stat}}"></tab>
     </tabset>

</div>

在我的controller.js中,我尝试为范围

中的选项卡设置活动属性
app.controller('TabCtrl', ['$scope',
  function($scope) {
    // $dialogs.error('t est');
    $scope.tab1stat=false;
    $scope.tab2stat=true  
  }
]);

我尝试访问html中的范围变量,但是tab指令似乎在初始化控制器之前呈现。

有没有办法实现这个目标?

另外,我需要使用不同的html刷新选项卡。例如,我的tab1.html将有几个按钮,将呈现一些HTML页面。所有这些页面都需要在同一个标​​签中呈现。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:0)

尝试从活动属性绑定中删除花括号,使其如下所示:active =“tab2stat”。你也不应该绑定原语来避免原型继承问题。

<强> 修改 角度ui引导程序库正在监视活动属性,如下所示:

scope.$parent.$watch($parse(attrs.active), function (value) {
  alert(value);
});

请参阅此plunkr:http://plnkr.co/edit/pwXOz1O4Wb0RZsi3nPlC?p=preview