ng-disable无法在单选按钮div

时间:2018-06-12 21:58:53

标签: javascript html angularjs angularjs-ng-disabled

我在这里有一个单选按钮div,如果yAxisEditorCtrl.forceCombinedYAxis为真,我想禁用它。

这是我改变之前的代码

  <div class="y-axis-editor">
    <div class="vis-config-option display-size-normal form-group" ng-if=" yAxisEditorCtrl.supportsType()">
      <lk-vis-editor-radio-input label="Scale Type" model="yAxisEditorCtrl.type" options="yAxisEditorCtrl.typeOptions"/>
    </div>
    ...
  </div>

modeloptions的定义是:

  @type =
    value: null

  @typeOptions = [
    {name: "Linear", value: "linear"}
    {name: "Logarithmic", value: "log"}
  ]

所以我尝试将ng-disabled="yAxisEditorCtrl.forceCombinedYAxis"添加到我的div中:

  <div class="y-axis-editor">
    <div class="vis-config-option display-size-normal form-group" ng-if=" yAxisEditorCtrl.supportsType()" ng-disabled="yAxisEditorCtrl.forceCombinedYAxis">
      <lk-vis-editor-radio-input label="Scale Type" model="yAxisEditorCtrl.type" options="yAxisEditorCtrl.typeOptions"/>
    </div>
    ...
  </div>

但是,即使ng-disabled为true(我检查了输出),它仍然不会禁用。

enter image description here

我甚至尝试在定义单选按钮的div中添加它,但仍未禁用。

好奇我怎么能让它发挥作用?

1 个答案:

答案 0 :(得分:0)

ng-disabled用于输入,您似乎无意中将其放在div上。

以下是更正后的代码:

  <div class="y-axis-editor">
    <div class="vis-config-option display-size-normal form-group" ng-if="yAxisEditorCtrl.supportsType()">
      <lk-vis-editor-radio-input label="Scale Type" ng-disabled="yAxisEditorCtrl.forceCombinedYAxis" />
    </div>
    ...
  </div>

由于div不是交互式的,因此无法禁用。如果您希望它具有特定的外观或样式,我建议您使用ng-class有条件地将“已禁用”的出现类添加到div