在我的角度1.2.21应用程序中ng-show
的这个设置似乎我遗漏了一些非常明显的东西(这里是测试用例)。我想要一个元素只显示一个字符串不为空。假设我有一些动态的,可能是空的,带有静态标题的文本,我不希望文本为空时整个元素带有标题和空文本。
I tried like so (complete 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>
仅显示随机值是&gt; 0.5,为了进行双重检查,我添加了$scope.bar
,这是假的,所以我肯定会期待“你应该隐藏!”隐藏<div>
。
但是,他们不是。我在这里缺少什么?
答案 0 :(得分: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
语法不正确。你不应该使用{{}}
。