0

在我的 Angular 1.2.21 应用程序中,我似乎遗漏了一些非常明显的东西ng-show(在这里隔离了测试用例)。我希望仅当字符串不为空时才显示元素。假设我有一些动态的、可能是空的、带有静态标题的文本,并且我不希望在文本为空时显示带有标题和空文本的整个元素。

我试过这样(完整的plunkr)

html:

<body ng-controller="FooController">
  foo: "{{ foo }}"
  <div>{{ rand }}</div>
  <div ng-show={{ foo }}>Hello foo{{ foo }}!</div>
  <div ng-show={{ bar }}>You ought to be hiding!</div>
</body>

和js:

angular.module('MyApp', [])
  .controller('FooController', ['$scope',
    function($scope) {
      $scope.rand = Math.random();
      $scope.foo = $scope.rand > 0.5 ? "bar" : "";
      $scope.bar = false;
    }
  ]);

现在我希望“Hello foobar”<div>只在随机值 > 0.5 时显示,并且为了仔细检查,我添加了一个$scope.bar错误的值,所以我肯定希望“你应该隐藏!” <div>被隐藏。

但是,它们不是。我在这里想念什么?

4

1 回答 1

1

尝试这个:

<body ng-controller="FooController">
  foo: "{{ foo }}"
  <div>{{ rand }}</div>
  <div ng-show="foo">Hello foo{{ foo }}!</div>
  <div ng-show="bar">You ought to be hiding!</div>
</body>

你的ng-show语法不正确。你不应该使用{{}}.

于 2014-08-10T09:17:43.927 回答