0

我不知道你怎么能实现一个有条件的情况,能够打开一个崩溃。说,我得到了一些价值,如果国家是 CZ,我想打开崩溃 1,否则如果国家是美国,它应该打开崩溃 2。

   <div ng-controller="CollapseDemoCtrl">
<button class="btn" id="btn" ng-click="isCollapsed = !isCollapsed">CZ</button>
<hr>
<div collapse="isCollapsed">
    <div>CZ</div> 
</div>
  </div>

   <div ng-controller="CollapseDemoCtrl">
<button class="btn" id="btn" ng-click="isCollapsed = !isCollapsed">USA</button>
<hr>
<div collapse="isCollapsed">
    <div> USA</div> 
</div>
  </div>

这是控制器

  var app = angular.module('app', ['ui.bootstrap']);

  app.controller('CollapseDemoCtrl', function($scope) {
  $scope.isCollapsed = true;

  //not working code from here
  $scope.values = $document.getElementbyId('btn').innerHTML;
  if($scope.values==1)
  $scope.isCollaspe=false;
  });

我真的很好奇正确的方法是什么。因为我的代码目前没有执行正确的操作。有什么建议么?

plunker:http ://plnkr.co/edit/5l0lEC8oeTLy0ZL8XKO4?p=preview

4

2 回答 2

3

您可以使用ng-switch。请看一下演示。

<div ng-controller="CollapseDemoCtrl">
    <button class="btn" id="btn" ng-click="clicked ='CZ'">CZ</button>
    <button class="btn" id="btn" ng-click="clicked ='USA'">USA</button>
    <hr>
    <div ng-switch="clicked">
        <div ng-switch-when="CZ">
            <div class="well well-large">Some content CZ</div>
        </div>
        <hr>
        <div ng-switch-when="USA">
            <div class="well well-large">Some content USA</div>
        </div>
    </div>
</div>

Demo

于 2013-08-07T22:22:17.710 回答
0

您可以使用ngClassngSwitch 指令获得所需的结果。参考文档有详细的例子来展示它们的用法。

您不应从控制器操作或引用 DOM。DOM 操作应仅限于指令

于 2013-08-07T22:20:11.167 回答