<h4 class="changecolor">{{driver.name}} </h4>
<h4 class="changecolor" ng-show="!driver.name">{{driver.officeEmail}} </h4>
如果driver.name
不可用,则显示driver.officeEmail
Angular.js ternery声明
是存在的,实现这个在一行中使用三元语句的方法吗?
<h4 class="changecolor">{{driver.name}} </h4>
<h4 class="changecolor" ng-show="!driver.name">{{driver.officeEmail}} </h4>
如果driver.name
不可用,则显示driver.officeEmail
Angular.js ternery声明
是存在的,实现这个在一行中使用三元语句的方法吗?
如果你只是想用一种结合,尝试:
<h4 class="changecolor">{{driver.name || driver.officeEmail}}</h4>
这就是所谓的short-circuit evaluation。如果driver.name
未定义,则将显示driver.officeEmail
。
@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>
<h4 class="changecolor">{{(driver.name) ? driver.name : driver.officeEmail}} </h4>
这为我工作。
你不需要()周围的driver.name它将工作没有它,就像我下面的例子 – 2014-10-10 23:21:00
我的朋友,非常感谢。这个解决方案帮助了我。 – Jackal 2014-10-10 17:21:29