ng-if not working - Angular 1

时间:2018-03-11 21:47:25

标签: angularjs angular-ng-if ngif

位卡住......我有两个输入/重复的单选按钮。

此代码循环访问对象数据数组并返回饮品名称和价格。例如,姓名:'茶',价格:' 1.00'。

f + (float) i

当有人点击单选按钮' Tea'时,我想要出现这组单选按钮......但NG-IF似乎无法正常工作。

<div class="field">
 <label class="radio" ng-repeat="drink in grindsIndex.menuDrinks" >
  <input id='drinkRadio' type="radio" ng-model="value" value="{{ 
   drink.price }}" placeholder="{{ drink.name }}" name="name" ng-
   model="grindsIndex.name" ng-change="drinkValue(value)" ng-
   click="clickMethod()"; [checked]="idx === 0" ng-class="{selected: 
   drink.selected === true}"/>
    {{ drink.name }}  &nbsp
    {{ drink.price }}
 </label>
</div> 

基本上我想说,如果喝茶,喝茶,就会显示这些单选按钮......

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这是因为在ng-if =&#34; drink.name ==&#39; tea&#39;&#34;未定义,因为它超出了ng-repeat的范围。你可以做的是使用你的第一个输入ng-model =&#34;值&#34;的ng-model。如

ng-if="value.name == 'tea'"

或者您可以创建一个新变量,并在第一次输入的ng-click或ng-change满足条件时将其设置为true。

<div class="field" ng-if="displayTea">
</div>

并且在您的控制器中,当满足条件时将此新变量设置为true

$scope.clickMethod = function(){
    if(someConditionIsMet)
        displayTea = true;
}