我正在使用Angular 1.2和bootstrap 3.x,并且我正在尝试使用angular-bootstrap插件来折叠DIV。我有一个带有搜索栏的表单,它使用我的自定义$resource服务从控制器中的服务器检索特定数据:
$scope.sendSearch = function(query) {
$scope.results = Search.query(query);
};在使用下面这段代码检索结果后,我想对结果进行解压:
<div collapse="isCollapsed">
<li class="well" ng-repeat="result in results" style="list-style-type: none;">
</li>
</div>在通过添加带有正确的ng-click操作的简单按钮来检索数据之后,我可以这样做,但我的问题是-是否可以在控制器中更改"isCollapsed“变量的值?我知道,由于回应的“承诺”性质,它可能是有问题的。当我尝试这样做时,我的div冻结了,class=“折叠”,什么也没有发生,hovewer -我仍然能够使用前述按钮折叠/取消折叠div,这也修复了类属性。
发布于 2014-07-02 02:26:12
只需创建一个作用域监视,查看结果是否已更改或被检索。
$scope.watch("results", function(newValue, oldValue){
if (newValue.length > 0)
$scope.isCollapsed = !$scope.isCollapsed;
})或
$scope.watch("results", function(newValue, oldValue){
if (_.isEqual(newValue, oldValue) ) // I used underscorejs
$scope.isCollapsed = !$scope.isCollapsed;
})https://stackoverflow.com/questions/24516689
复制相似问题