当Prisoner
无法正常工作时,我遇到了问题。
以下是plunker的链接:http://plnkr.co/edit/dILXSIHHzvuv1nhbxdga?p=info
在更改选择时,我使用模型值显示特定文本框。
ng-if="expression value is 0"
输入字段
<select ng-model="location.locationSchedule.scheduleType"
ng-options="schedule.id as schedule.name for schedule in scheduleTypes track by schedule.id">
<option value="">Choose a Schedule Type</option>
</select>
如果<input ng-model="location.locationSchedule.frequency"
placeholder="Enter Week No."
ng-if="location.locationSchedule.scheduleType == 0"/>
<input ng-model="location.locationSchedule.frequency"
placeholder="Enter Week No."
ng-if="location.locationSchedule.scheduleType == 1"/>
显示特定文本框,但不显示0
答案 0 :(得分:1)
这是因为父母ngIf
替换
ng-if="location.locationSchedule.scheduleType != ''"
与
ng-if="location.locationSchedule.scheduleType !== ''"
或更合适的任何内容(cf Implied string comparison, 0='', but 1='1')
答案 1 :(得分:1)
更改
ng-if="location.locationSchedule.scheduleType != ''"
到
ng-if="location.locationSchedule.scheduleType !== ''"
beacause 0 == ''
,两者都是假的,但它们的类型不一样。
答案 2 :(得分:1)
不确定为什么每个人都在比较
现在我明白为什么,为了清楚起见,请在你的问题中加入div html。scheduleType !== ''
对于比较0的问题,您可以通过严格比较来实现,包括!== ''
,=== 0
等
<div class="form-group days-list" ng-if="location.locationSchedule.scheduleType !== ''">
<input ng-model="location.locationSchedule.frequency"
placeholder="Enter Week No."
ng-if="location.locationSchedule.scheduleType === 0"/>
<input ng-model="location.locationSchedule.frequency"
placeholder="Enter Week No."
ng-if="location.locationSchedule.scheduleType === 1"/>