2016-06-11 35 views
0

我一直在玩角,我目前在泡菜。我想檢查ng-model的值是否大於0,以應用不同的css風格。這可以做到嗎?ng-model可以檢查自己的值嗎?

`<span ng-model="users2" ng-hide="!myVar" ng-class="{'test2': users2 > 0}" style="font-size:28px; color:purple" >` 

任何幫助將不勝感激? 謝謝!

+2

'NG-model'指令可應用於形成,只控制,如輸入,選擇或文本域。 –

回答

3

你做的一切權利

Look at this JSBin

也看一下ngClass Documentation更多的例子。

如果它不起作用可能是另一個問題。

編輯:

我完全超過看出,但作爲評價提到的ngModel directive結合的輸入,選擇,文本區域(或定製的形式控制)上的範圍的特性。 所以在跨度不會做任何事情,如果你想你應該使用ng-class變量值的基礎更改CSS樣式span只是沒有被定義

JSBin Example

+0

是的,一定是另一個問題 – vzupo

0

。您可以使用甚至if-else聲明:

<div ng-class=" ... ? 'class-1' : (... ? 'class-2' : 'class-3')"> 
0

內聯樣式比CSS類更高的優先級。

如果您將!important添加到班級,它應該按預期工作。但我會避免使用內聯樣式。所以只能使用ng-class

請看下面的演示或在這fiddle

angular.module('demoApp', []) 
 
\t .controller('mainController', MainController); 
 
    
 
function MainController() { 
 
\t var vm = this; 
 
    angular.extend(vm, { 
 
    \t myVar: true, 
 
     users2: 1 
 
    }); 
 
}
.test2 { 
 
    color: red !important; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="demoApp" ng-controller="mainController as ctrl"> 
 
    <input ng-model="ctrl.users2"/> 
 
    <span ng-hide="!ctrl.myVar" style="font-size:28px; color:purple" ng-class="{'test2': ctrl.users2 > 0}"> 
 
    some content 
 
    </span> 
 
</div>

0

NG-模型只適用於輸入框,文本框,單選按鈕,複選框。 由於您在跨度上使用了ng-model,因此不會更新模型本身。

所以scope.users2 $ ==未定義總是