我正在开发一个用于项目管理的应用程序,第一个界面旨在从列表中选择一个项目,而其他界面则用于显示编辑添加...所选项目的不同类型的信息。
我们的项目有一个变量来定义项目是可编辑的还是只读的。我的问题是根据此变量来禁用所有不同接口中的所有输入的最佳方法是什么?
我可以将此变量存储在本地存储中,并向每个输入添加如下内容:
<input ng-class="{disable: readOnly === true}" type="text"....>
或按钮
<button ng-hide="readOnly">Submit</button>
但是我认为这是一个丑陋的方法,首先是因为我们在本地存储中使用了全局变量,并且特别是因为我们在一开始就没有想到此功能,因此在上述方法中,我应该向所有输入,按钮,检查添加代码框,....
在这种情况下,我们是否有不使用本地存储的最佳实践?
最佳答案
我想说的是,将要在disable
内的所有字段都包裹在fieldset
元素中,然后在ng-disabled="readOnly"
上使用fieldsset
指令,以便所有内部字段一次得到disabled
readonly
值变为true,由此所有代码将变得更整洁。
标记
<fieldset ng-disabled="readonly">
...All fields & button here..
</fieldset>
Sample Demo