IE10选择标记显示大括号

时间:2014-12-15 09:56:04

标签: angularjs internet-explorer-10

对于初学者,我一直试图在较小的情况下重现这个错误但是失败了。 所以,我只是要提出我迄今为止所得到的任何信息。

我有一个调用另一个指令(directiveB)的指令(directiveA)。 directiveB包含<select>标记ng-model='fileId'。 选项列表使用基于fileList数组的ng重复填充,并且所选择的集合也设置为变量(selectedFile)。 然后允许用户上传新文件。当通过AJAX API调用上载新文件时,它将返回来自服务器的新文件列表。然后我用返回的列表更新fileList。 我还使用新更新的文件更新selectedFile和fileId。 但是,当fileId更新时,该选项将仅显示{{fileName}},而不是其有界值。单击下拉列表将修复绑定。

<select ng-model='fileId'>
  <option ng-repeat="p in fileList" selected={selectedFileId == p.fileId}>{{p.fileName}}</option>
</select>

JS

...
//AJAX call, return a result
s.fileList = result.items;
s.fileId = result.newId;
s.selectedfileId = result.newId;

只是想知道你们是否遇到过类似的问题,因为它只发生在IE中。

1 个答案:

答案 0 :(得分:6)

对选项标签使用ng-option属性而不是选项标签上的ng-repeat,并且一切正常。关键考虑因素是使下拉列表的选择值与模型值匹配。

<select ng-model='selectedfileId' ng-options='file.id as file.name for  file in fileList' ></select>

更多详细信息:https://docs.angularjs.org/api/ng/directive/ngOptions