<h4 class="changecolor">{{driver.name}} </h4>
<h4 class="changecolor" ng-show="!driver.name">{{driver.officeEmail}} </h4>
如果driver.name
不可用,请显示driver.officeEmail
有没有办法在一行中使用三元语句来实现它?
答案 0 :(得分:5)
如果您只想使用一个绑定,请尝试:
<h4 class="changecolor">{{driver.name || driver.officeEmail}}</h4>
这称为short-circuit evaluation。如果driver.name
未定义,则会显示driver.officeEmail
。
答案 1 :(得分:1)
@quantumwannabe的回答是有效的,并且对于这个特定的用例是一个更好的解决方案,但是OP询问了从版本1.2.x开始也可能的三元。
angular.module("app", [])
.controller('appCtrl', ['$scope',
function($scope) {
$scope.driver = {email : "test"};
}
]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app">
<div ng-controller="appCtrl">
<h4 class="changecolor">{{driver.name ? driver.name : driver.email}}</h4>
</div>
</div>
答案 2 :(得分:1)
<h4 class="changecolor">{{(driver.name) ? driver.name : driver.officeEmail}} </h4>
这对我有用。