我有一个AngularJs表单,我想知道工作小时数。如果金额为0
,我会因为无法工作而启用额外的问题。
<label>How many hours did you work?</label>
<input ng-model="hours" type="number" placeholder="8" />
<label ng-class="{'disabled-label': ifHoursZero}">Why didn't you work at all?</label>
<input ng-disabled="ifHoursZero" ng-model="reason" type="text" />
如果ifHoursZero
值为hours
,则使用0
切换CSS和输入字段的优雅Angular方式是什么?可以使用hours
变量直接使用某种模式吗?
答案 0 :(得分:2)
使ifHoursZero
函数返回一个布尔值,并将其称为ng-disabled="ifHoursZero()"
例如:
function ifHoursZero() {
return $scope.hours === 0;
}
请参阅jsBin
答案 1 :(得分:2)
您应该可以在不必向控制器添加功能的情况下执行此操作:
<label>How many hours did you work?</label>
<input ng-model="hours" type="number" placeholder="8" />
<div ng-show="hours === 0">
<label>Why didn't you work at all?</label>
<input ng-model="reason" type="text" />
</div>