处理元素在AngularJS中调整大小

时间:2015-11-19 22:56:24

标签: javascript jquery angularjs angularjs-directive

我有两个div的指令:

<div id="childContainer">
  <div id="child">
    <a class="btn btn-primary testBtn1" ng-show="!vm.hideButton">Test Button 1</a>
    <a class="btn btn-secondary testBtn2">Test Button 2</a>
  </div>
</div>

我试图让childContainer div保持与child div相同的高度,特别是当我隐藏testBtn1时。这是我的指令控制器里面的监视功能应该这样做:

$scope.$watch(function(){
  return vm.child.height(); //vm.child is a jQuery object
}, function(){
  vm.childContainer.height(vm.child.height()); //vm.childContainer is a jQuery object
});

但是,这没有按预期工作。好像手表功能触发太晚了。您可以查看问题https://github.com/bobbywarner/grails-http-builder-helper

1 个答案:

答案 0 :(得分:2)

$watch应该接受您要监​​控的变量,该值。

return vm.child.height(); //vm.child is a jQuery object

在这里,您将返回vm.child.height();。将其更改为:

$scope.$watch('vm.child.height()', function(){
  vm.childContainer.height(vm.child.height()); //vm.childContainer is a jQuery object
});