使用ng-options防止Option上的Angular创建Value属性

时间:2014-08-27 07:04:51

标签: javascript angularjs html-select

我正在使用Angular创建一个带有选项的选择元素:

<select ng-model="mySelectedValue" 
    ng-options="myListItem.name as myListItem.name for myListItem in myList">
</select>

对于数据:

$scope.myList = [
    { name: "option one" },
    { name: "option two" }
];
$scope.mySelectedValue = null;

这呈现:

<select ...>
    <option value='0'>option one</option>
    <option value='1'>option two</option>
</select>

可以使用`track by myListItem.name更改value属性以复制选项文本,呈现:

<select>
    <option value='option one'>option one</option>
    <option value='option two'>option two</option>
</select>

但是,Angular似乎没有办法阻止将value属性添加到选项中。即:以下是有效的HTML,但不能使用Angular ng-options渲染(据我所知)https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option?#attr-value

<select>
    <option>option one</option>
    <option>option two</option>
</select>

由于IE上的问题,显然不建议在选项上使用ng-repeat - https://github.com/angular/angular.js/issues/2809

这是Angular的限制吗?

0 个答案:

没有答案