如何使用 angular 指令默认禁用输入

How to make a input disabled by default using angular directives

如何使文本输入字段默认禁用并使用复选框切换。我正在获取用于在启用和禁用状态之间切换输入字段的复选框,但即使我在页面加载时将复选框设置为 true,我也无法默认禁用输入字段。

我试过这个方法,但它不会禁用输入字段,直到我将复选框切换为关闭和打开:

<input type="text" ng-disabled="restaurant.valid_shortname" ng-model="restaurant.shortname" >
<input type="checkbox" ng-model="restaurant.valid_shortname" ng-checked="true"/>

我想做的是在页面加载时选中复选框,结果禁用输入字段

来自 ng-checked 的文档:

Note that this directive should not be used together with ngModel, as this can lead to unexpected behavior.

正确的方法可能是在控制器中将 restaurant.valid_shortname 设置为 true。如果您坚持在模板中这样做,也可以使用 ng-init。那看起来像这样:

<input ng-init="restaurant.valid_shortname = true" type="text"
       ng-disabled="restaurant.valid_shortname"
       ng-model="restaurant.shortname" >
<input type="checkbox" ng-model="restaurant.valid_shortname"/>