更改$ scope

时间:2016-06-06 13:24:10

标签: javascript html angularjs drop-down-menu

我有这样的选择: < select ng-model =" exportParam"         ng-options =" item as item.lib for allExportParams |中的item ORDERBY:' LIB'"         类="形状控制"> < /选择> 我将其状态保存在服务的stockOptions中,以便稍后返回页面时显示它。 (快速填写): export:function(params,criteres,options){             stockParams = options.saveAllparams;             stockCriteres = criteres;             stockOptions = options;             的console.log(选项);             $ http.post(urnPrefix +' / exports?export = true',angular.toJson({' params':params,' criteres':criteres,&# 39; options':options}),{responseType:' arraybuffer'})。success(function(data){                 var blob = new Blob([data],{                     类型:" application / xlsx"                 });                 //由FileSaver.js提供的saveAs                 saveAs(blob,' export - ' + new Date()。getTime()+' .xlsx');             });         }, 节省了,并且工作正常。问题是我想要加载它。 我是这样做的: $ scope.exportParam = exportService.getStockOptions()。groupParam; 它工作正常,exportParam是在< select>中选择的选项。 但 它显示默认值。我的意思是< select>是空白的。选择了好的值,我可以通过调试看到它,但是它显示了像none这样的选项。 如果有人已经遇到这个问题并且可以提供帮助那就太棒了。 编辑:它第二次保存值时正在工作。之后,它每次都完美展现。

1 个答案:

答案 0 :(得分:0)

当ngModel和ngOptions不保持相同的值(或来自同一对象的值)时会发生这种情况。

要解决此问题,请在ngOption表达式中使用track by

track by可以是标识该对象的任何唯一属性。