带有ng-if的Angular指令在另一个ng内 - 如果不起作用

时间:2015-01-14 22:22:26

标签: javascript angularjs angularjs-directive angularjs-ng-if

这是指令:

<a ng-if="field.bindingType == 'options'">
 <select ng-model="field.value" {{html}} >
  <option ng-repeat="(k,v) in field.options" value="{{k}}">{{v}}</option>
 </select>
</a>
<a ng-if="field.bindingType != 'options'">
 <a ng-if="['text','ntext','nvarchar','varchar'].indexOf(field.type) > -1">
  <textarea ng-model="field.value" {{html}} ></textarea>
 </a>
 <a ng-if="['double','float','int'].indexOf(field.type) > -1">
  <input type="number" ng-model="field.value" {{html}} />
 </a>
 <a ng-if="field.type == 'bit'">
  <input type="checkbox" ng-model="field.value" {{html}} />
 </a>
 <a ng-if="field.type == 'date'">
  <input type="date" ng-model="field.value" {{html}} />
 </a>
 <a ng-if="field.type == 'time'">
  <input type="time" ng-model="field.value" {{html}} />
 </a>
 <a ng-if="field.type == 'datetime'">
  <input type="datetime-local" ng-model="field.value" {{html}} />
 </a>
</a>

出于某种原因,当 field.bindingType 是'options',因此传递第一个 ng-if 时,它仍然可以传递第二个 ng- if (bindingType不是'选项')。显然,这是不可能的,但它一直在发生。

这只发生在字段上。但是,类型匹配内部ng-if条件之一。就好像它忽略了 ng-if =“field.bindingType!='options'”指令的一部分。

这里有什么问题?

感谢。

0 个答案:

没有答案