单击输入字段后,ng-hide不起作用

时间:2016-09-13 13:05:51

标签: angularjs angular-material

    <md-radio-group ng-model="orderDetails.productType" layout="row">
            <md-radio-button value="paper" class="md-primary"><h4>Paper</h4></md-radio-button>
            <md-radio-button value="nonPaper"><h4>nonPaper</h4></md-radio-button>
    </md-radio-group>

<md-input-container class="md-block" ng-hide="orderDetails.productType === 'paper'" >
    <label>Non-Paper Type</label>
    <input  type="text" name="nonPaperType" ng-required="orderDetails.productType === 'nonPaper'" ng-model="orderDetails.nonPaperType"/>
</md-input-container>

我试图隐藏输入容器,但是,首先它工作正常,但点击输入后它不会隐藏。

screenshot for issue

2 个答案:

答案 0 :(得分:1)

你去了 - CodePen

标记

<div ng-controller="AppCtrl" ng-cloak="" ng-app="MyApp" layout-padding>
  <md-radio-group ng-model="orderDetails.productType" layout="row">
      <md-radio-button value="paper" class="md-primary">Paper</md-radio-button>
      <md-radio-button value="nonPaper">Non Paper</md-radio-button>
  </md-radio-group>
  <md-input-container class="md-block" ng-hide="orderDetails.productType === 'paper'" >
    <label>Non-Paper Type</label>
    <input  type="text" name="nonPaperType"  ng-required="orderDetails.productType === 'nonPaper'" ng-model="orderDetails.nonPaperType"/>
  </md-input-container>
</div>

答案 1 :(得分:0)

实际上这是Angular材料问题  https://github.com/angular/material/issues/6536

但是如果你删除了所需的ng,它应该可以工作。

可能是这个小提琴帮助你:

`https://codepen.io/anon/pen/BLjmZP`