©
このドキュメントでは、php中国語ネットマニュアルリリース
带有angular数据绑定功能的HTMLSELECT
元素。
ngOptions
ngOptions
属性可用于动态生成元素列表,当对
元素使用数组,或者是
ngOptions
可解析的表达式计算得到的对象。
当菜单中的一项被选中时,数组元素或对象属性作为被选中的选项绑定到模型的
ngModel
指令。
ngModel
通过引用比较,而非值比较。这在使用对象数组 绑定时很重要。参见示例in this jsfiddle.
此外,设置为空字符串值的单个硬编码的元素可以嵌套到
元素中。这个元素将表现为
null
或 "not selected"选项。参见下面的示例演示。
ngOptions
为
提供了一个迭代器工厂用于替代 ngRepeat,在你想让
select
模型绑定到非字符串值时。这是因为一个选项元素只能被绑定到一个字符串值上。
参数 | 类型 | 详述 |
---|---|---|
ngModel | string | 声明用于数据绑定的Angular表达式。 |
name
(可选)
|
string | 发布到表单下的控件的属性名称。 |
required
(可选)
|
string | 控件只有输入值才被认为有效。 |
ngRequired
(可选)
|
string | 当ngRequired表达式等于true时,添加 |
ngOptions
(可选)
|
comprehension_expression | 下列形式之一:
这里:
|
angular.module('selectExample',[]).controller('ExampleController',['$scope',Function($scope){$scope.colors=[{name:'black',shade:'dark'},{name:'white',shade:'light'},{name:'red',shade:'dark'},{name:'blue',shade:'dark'},{name:'yellow',shade:'light'}];$scope.myColor=$scope.colors[2];// red}]);ng-controller="ExampleController">
ng-repeat="color in colors">Name:ng-model="color.name">[hrefng-click="colors.splice($index, 1)">X] [hrefng-click="colors.push({})">add]
Color (null not allowed):
Color (null allowed):class="nullable">
Color grouped by shade:
Selecthrefng-click="myColor = { name:'not in list', shade: 'other' }">bogus.
Currently selected: {{ {selected_color:myColor} }}style="border:solid1pxblack;height:20px"ng-style="{'background-color':myColor.name}">
it('should check ng-options',Function(){expect(element(by.binding('{selected_color:myColor}')).getText()).toMatch('red');element.all(by.model('myColor')).first().click();element.all(by.css('select[ng-model="myColor"] option')).first().click();expect(element(by.binding('{selected_color:myColor}')).getText()).toMatch('black');element(by.css('.nullable select[ng-model="myColor"]')).click();element.all(by.css('.nullable select[ng-model="myColor"] option')).first().click();expect(element(by.binding('{selected_color:myColor}')).getText()).toMatch('null');});