如果$ watch检测到更改,则显示div元素

时间:2014-01-29 14:09:40

标签: angularjs show-hide

我有一个div元素

<div class="alert alert-success">
<a href="#" class="close" data-dismiss="alert">&times;</a>
 CHANGE CHANGE CHANGE CHANGE ....
</div>

我的功能是

$scope.$watch('customers.length', function() {

    // code ????????
}   

一旦$ watch检测到customers.length的更改,就应显示div。 使用alert('....');它可以工作,但我会使用div元素。

我必须在function () { // code }内编写哪些代码才能实现

2 个答案:

答案 0 :(得分:0)

ngShowngIf指令添加到div中,当您观看函数触发时表达式变为true。

答案 1 :(得分:0)

添加@ Maurice的答案,您不需要使用$watch表达式。只需使用ng-show属性,如下所示:

<div class="alert alert-success" ng-show="customers.length"> ... </div>

只有当div的值真实时才会显示$scope.customers.length

如果你真的希望在customers.length的值发生变化时显示div(无论.length是什么),那么你可以执行以下操作:< / p>

在控制器中:

...
$scope.origCustomersLength = $scope.customers.length;
...

在你的HTML中

<div class="alert alert-success" ng-show="customers.length != origCustomersLength"> ... </div>

希望有所帮助。