Angularjs数据绑定和逻辑OR

时间:2018-03-28 09:31:42

标签: angularjs data-binding

在我的AngularJS(1.6)应用程序中,我有3个变量,我想为我的模板赋值等于这3个变量中的任何一个。我需要使用它们中的任何一个,并且可能并非所有都可用。

这就是我需要逻辑OR的原因。如果其中任何一个可用,我希望我的SPAN能够获得这个价值。

有可能这样做吗?

<span>{{ foo || bar || baz }}</span>

谢谢!

2 个答案:

答案 0 :(得分:1)

它有效,但你必须小心你所展示的内容,这是一个例子:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.a;       // falsy -> undefined
  $scope.b = 0;   // falsy -> zero
  $scope.c = "0"; // truthy -> 0 is displayed 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>

<div ng-app="myApp" ng-controller="myCtrl">
  <code>Only $scope.c is displayed:</code> 
  <span>{{a || b || c}}</span>
</div>

答案 1 :(得分:1)

如果检查3个变量的逻辑在控制器内,则可能更整洁。

if (document.getElementById[idCondition] = value)

https://jsfiddle.net/ohxczy2p/1/