IE10选择标记显示大括号

Suf*_*ndy 2 internet-explorer-10 angularjs

对于初学者,我一直试图在较小的情况下重现这个错误但是失败了.所以我只想把我到目前为止所提供的任何信息都拿出来.

我有一个指令(directiveA)调用另一个指令(directiveB).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>
Run Code Online (Sandbox Code Playgroud)

JS

...
//AJAX call, return a result
s.fileList = result.items;
s.fileId = result.newId;
s.selectedfileId = result.newId;
Run Code Online (Sandbox Code Playgroud)

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

mis*_*hod 6

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

<select ng-model='selectedfileId' ng-options='file.id as file.name for  file in fileList' ></select>
Run Code Online (Sandbox Code Playgroud)

更多细节:https://docs.angularjs.org/api/ng/directive/ngOptions