在HTML中,有selected
属性等属性:
<option selected>This option is selected</option>
它存在或不存在,转换为开/关(布尔)。
我找不到为AngularJs指令创建这样的属性的方法。有什么办法吗?
一个例子是:
<modal ng-show="modal.show" with-backdrop> // "with-backdrop" is a boolean attribute.
答案 0 :(得分:0)
我再读一遍你的问题,我错了。要想要你想要的东西,你应该做下一个:
HTML元素:
<modal id="myModal" ng-show="modal.show" with-backdrop>
在你的控制器中:
function somethingController() {
var modalElement = document.querySelector('#myModal');
// If you want to check that element have your attribute.
var isMyAttributeSet = modalElement.getAttribute('with-backdrop') !== null;
// If you want to set up the attribute.
modalElement.setAttribute('with-backdrop', '');
}
setAttribute
方法需要2个参数(attributeName,attributeValue),但是如果你传递一个空字符串作为第二个参数,那么该属性将被视为你想要的,我已经在chrome控制台中对它进行了测试:)
答案 1 :(得分:-1)
取决于你正在做什么,它会有所不同。在您的示例中,您想知道选择了哪个选项。通过检查<select>
的模型可以找到它,看看它里面有什么。例如:
<select data-ng-model="user.defaultThing"
data-ng-options="thing.id as thing.name for thing in thingCollection">
<option value="">None</option>
</select>
使用此设置,只要更改选择,thing.id
就会存储在user.defaultThing
中。
注意:我在那里的“无”选项允许空选择。
现在,如果您正在查看是否检查了checkbox
,那么它就像您只看到它所绑定的模型中的内容一样。
<input type="checkbox" data-ng-model="form.someOption">
当您开始处理表单时,只需查看form.someOption
是true
还是false
。