AngularJS select 选项未在 IE 10 中显示

AngularJS select option not displaying in IE 10

我们正在尝试解决 IE 10 中的一个令人抓狂的错误,在该错误中,所选选项的选项标签不会为 Angular <select> 呈现。相反,该选项的标签显示为 {{option}},暗示无法解析该指令。更糟糕的是,这个问题在 IE 11 或更高版本中不会发生,或者 Chrome。这是相关代码:

HTML:

<select class="settings-select-box" name="LOCATION_UPDATE_FREQUENCY"
        id="LOCATION_UPDATE_FREQUENCY"
        data-ng-model="configurations.LOCATION_UPDATE_FREQUENCY">
    <option data-ng-repeat="option in frequency" value="{{option}}">{{option}}</option>
</select>

在控制器 JS 代码中,我们将 frequency 定义为静态数组,因为选择永远不会改变:

$scope.frequency = ["Never","Daily","Weekly","Monthly"];

用于模型的作用域变量是 configurations.LOCATION_UPDATE_FREQUENCY,并且是使用数据库中的值定义的。在 IE 10 和其他浏览器上持久保存到数据库,这意味着从 UI 到服务器的绑定似乎没有问题。

这个错误真正奇怪的是,在 IE 10 中仍然选择了正确的选项,但标签已损坏或未正确呈现。

以下是进一步说明问题的屏幕截图:

根据官方文档,您应该使用 "ng-value" https://docs.angularjs.org/api/ng/directive/ngValue

<select class="settings-select-box" name="LOCATION_UPDATE_FREQUENCY"
    id="LOCATION_UPDATE_FREQUENCY"
    data-ng-model="configurations.LOCATION_UPDATE_FREQUENCY">
<option data-ng-repeat="option in frequency" ng-value="{{option}}">{{option}}    </option>
</select>