2016-07-06 3 views
-1

スキャン成功の場合は背景色を緑色にしたい場合はメッセージを表示し、そうでない場合は赤色にします「Ready To Scan」の最初のメッセージに戻って来る必要があります。今はScan Successにとどまり、元のメッセージに戻りません。ステータスメッセージを変更したい場合は、成功したら最初のメッセージに戻ります。

scanMsg = "Ready To Scan" 
    if (data.status == "success") { 
     scanMsg = "Scan Success"; 
    }else { 
     scanMsg = "Failed"; 
     } 
    } 

    <div id="divScanMsg" class="cssTitleCenter cssFontS cssCurEdges pull-right" ng-class="'bg-green':vm.scanMsg==='Scan Success', 'bg-red': scanMsg === 'Failed'" style="height: 30vh; width: 50%; overflow-y:scroll; border-style:double; border-width:25px;">{{ vm.scanMsg }}</div> 
+1

より多くのコードを、これを定義します。どのバージョンのAngularを使用していますか? – SoEzPz

+1

ここに行くには十分な情報がありません。コンテキストのif/thenブロックが1つだけではなく、完全なディレクティブとテンプレートを表示してください。 (あなたが指示にそれを使用したいならば、あなたはおそらく 'scanMsg'をスコープに入れたいと思っています) –

答えて

-1

変数をリセットしない限り、その変数は変更されません。これをタイムアウトを使って試してください。 scanMsgに基づい

function resetScanMsg(){ 
$timeout(function(){ 
    $scope.scanMsg = 'Ready To Scan'; 
}, 2000); 

$scope.someFn = function(){ 

$scope.scanMsg = "Ready To Scan"; 

if (data.status == "success") { 
    $scope.scanMsg = "Scan Success"; 
    resetScanMsg(); 
}else { 
    $scope.scanMsg = "Failed"; 
    resetScanMsg(); 
} 

} 

と背景色を設定するためには、

<div ng-class="{'bg-red': scanMsg === 'Failed', 'bg-green': scanMsg === 'Scan Success'}"></div> 

あなたのhtmlでこれを使用して、あなたのCSSに

.bg-red{ 
    background-color: red; 
} 

.bg-green{ 
    background-color: green; 
} 
+0

sooooありがとう、私は今それを試してみます。 – MohdO

+0

これは間違いなく働いています。本当にありがとうございます。 soooooooありがとうございました。 _ @Srijith – MohdO

+0

@MohdOこれがうまくいくなら、答えを受け入れてください。ありがとうございました! – Srijith

関連する問題