我有两个div一个指令:操作件调整在AngularJS
<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
格,特别是当我躲在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
});
但是,按预期这是行不通的。就好像手表功能触发得太晚了一样。您可以查看问题here on my plnkr。
你的手表更改为以下:'$范围$腕表( 'vm.child.height',函数(){vm.childContainer.height(vm.child.height()) ;})'。 – jperezov
嗯。我尝试过,但那时手表事件没有触发。也许这与我使用controllerAs的事实有关? – nardnob
是啊给我一秒钟。我只是意识到你正在关注一个函数的返回值 - '$ watch'不能这样工作。你把手表放在一个变量上,而不是一个值。 – jperezov