Twitter bootstrap 选项卡内的AngularUI元素不接受高度

Twitter bootstrap 选项卡内的AngularUI元素不接受高度,twitter-bootstrap,angular-ui-bootstrap,Twitter Bootstrap,Angular Ui Bootstrap,我试图为tabset元素中的元素添加动态高度,这里是描述问题的plunker 我正在尝试使用id测试设置div的高度 任何帮助都将不胜感激 HTML: 在AngularJS中,您不需要在控制器中操纵DOM。你是用指令来做的。AngularJS有很多内置的指令,可以用来操作DOM,其中之一就是ngStyle。当然,您也可以创建自己的指令 对于这些示例,您不需要jQuery,因为使用Javascript操作样式非常简单。但是,如果您需要对IE8的支持,IE8不使用window.innerHeigh

我试图为tabset元素中的元素添加动态高度,这里是描述问题的plunker

我正在尝试使用id测试设置div的高度 任何帮助都将不胜感激

HTML:


在AngularJS中,您不需要在控制器中操纵DOM。你是用指令来做的。AngularJS有很多内置的指令,可以用来操作DOM,其中之一就是ngStyle。当然,您也可以创建自己的指令

对于这些示例,您不需要jQuery,因为使用Javascript操作样式非常简单。但是,如果您需要对IE8的支持,IE8不使用window.innerHeight,而是使用document.documentElement.clientHeight,并且希望简化代码,或者您对Javascript不太熟悉,那么您可以在控制器或指令中使用jQuery来进行计算,而不应用该样式

因此,如果只想使用内置的ngStyle指令,可以向其传递一个对象,例如:

<div style='border:1px solid #000;margin-top:15px;' ng-style="height" id="test">Test</div>
如果您想做一些更复杂的事情,您可以创建自己的指令。下面是一个例子:

app.directive('setHeight', function(){
  return {
    restrict: 'A',
    scope: {},
    link: function(scope, element, attrs){
      var h = window.innerHeight-350;
      element[0].style.minHeight = h+'px';
    }
  }
});
您可以在标记中使用它,如下所示:

<div style='border:1px solid #000;margin-top:15px;' id="test" set-height>Test</div>
app.controller('MainCtrl', function($scope) {
  $scope.height = {'min-height': window.innerHeight-350+'px'};
});
app.directive('setHeight', function(){
  return {
    restrict: 'A',
    scope: {},
    link: function(scope, element, attrs){
      var h = window.innerHeight-350;
      element[0].style.minHeight = h+'px';
    }
  }
});
<div style='border:1px solid #000;margin-top:15px;' id="test" set-height>Test</div>