©
This document uses PHP Chinese website manual Release
下面的标记会让按钮在Chrome/Firefox下有效,但是在IE8及以前的版本除外:
<div ng-init="scope = { isDisabled: false }">
<button disabled="{{scope.isDisabled}}">Disabled</button></div>
HTML规范不要求浏览器对布尔型属性必须给出值,例如disabled (它们存在表示true,不存在表示false)。如果我们放置了一个Angular动态表达式到这样的属性上,在浏览器删除属性时绑定信息将会丢失。 ngDisabled
指令解决了 disabled
属性存在的这个问题。这个指令不会被浏览器删除,并提供了一个永久的可靠的地方存放绑定信息。
<INPUT
ng-disabled="">
...
</INPUT>
参数 | 类型 | 详述 |
---|---|---|
ngDisabled | expression | 如果表达式为真, 指定的属性“disabled”会被设到元素上。 |
Click me to toggle: <input type="checkbox" ng-model="checked"><br/>
<button ng-model="button" ng-disabled="checked">Button</button>
it('should toggle button', Function() {
expect(element(by.css('button')).getAttribute('disabled')).toBeFalsy();
element(by.model('checked')).click();
expect(element(by.css('button')).getAttribute('disabled')).toBeTruthy();});