是否有办法通过模型来控制像'readonly'这样的属性的值,这个属性不接受可以分配给它的值? (我知道readonly =“readonly”是有效的XHTML,但它没有帮助。)
下面,'name'和'value'可以通过模型更改,但'readonly'怎么可能?
<input type="text" name="country" value="Norway" readonly>
答案 0 :(得分:2)
ngReadonly这样做:
<input type="text" name="country" value="Norway" ng-readonly="isCountryReadOnly">
答案 1 :(得分:2)
是的,您可以使用ng-readonly指令:
<input type="text" name="country" value="Norway" ng-readonly="expression">
这将使输入只读取expression
的任何真值。
答案 2 :(得分:0)
有许多具有相应指令的布尔属性,即selected
,checked
,disabled
,readonly
,required
和open
。如果您需要某种自定义布尔属性,则必须添加手表并手动设置:
scope.$watch(attr['myAttrName'], function (value) {
attr.$set('attrName', !!value);
});
这将评估自定义属性中包含的表达式,并在表达式求值为truthy值时显示所需的布尔属性。