2017-03-28 23 views
0

我得到一個響應從服務器到一個JSON(包含color.mix和color.pure)並直接傳遞給模板,所以,在這個模板中,我需要知道的值,從而來顯示它或顯示其他值檢查是否爲一個值,如果不顯示另一個東西

<span ng-if="color.mix">{{color.mix}}</span> 

但是,如果該值不來,我需要表現出「純粹」價值,所以我做了(錯!!)

<span ng-if="!color.mix">{{color.pure}}</span> 
<span ng-if="color.mix">{{color.mix}}</span> 

但是,當兩者都來了,都被顯示。

我該如何實現這個目標?

(角1.6)

+0

一個'NG-else'的想法已經扔了,現在繞了一段時間,但據我知道沒有什麼是官方的。不過,你可能對'ng-switch'感興趣。因爲它符合你的標準。 https://docs.angularjs.org/api/ng/directive/ngSwitch – mhodges

回答

2
<span>{{color.mix ? color.mix : color.pure}}</span> 
+0

,如果你知道你會得到一個或另一個 – tcrite

+0

是的,你知道,至少'純'來了總之,所以,這個答案是最有幫助的!謝謝 – NewJsGuy

1

檢查這兩個條件

<span ng-if="!color.mix && color.pure">{{color.pure}}</span> 
<span ng-if="color.mix && !color.pure">{{color.mix}}</span> 
如果你想使用一個三元操作做在同一行

,你可以簡單地做,

<span>{{color.mix ? color.mix : color.pure}}</span> 

DEMO

var app = angular.module('todoApp', []); 
 
app.controller("dobController", ["$scope", 
 
    function($scope) { 
 
    $scope.color = { 
 
     pure: "test" 
 
    }; 
 
    } 
 
]) ;
<!DOCTYPE html> 
 
<html ng-app="todoApp"> 
 
<head> 
 
    <title>To Do List</title> 
 
    <link href="skeleton.css" rel="stylesheet" /> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script> 
 
</head> 
 
<body ng-controller="dobController"> 
 
<span>{{color.mix ? color.mix : color.pure}}</span> 
 
</body> 
 
</html>

+0

感謝您的兩項決議!但是@ tcrite是第一個解決我的問題的人!但是,感謝您花時間閱讀我的noob問題! – NewJsGuy

+0

酷!很高興幫助 – Sajeetharan

相關問題