ng-options具有动态默认值

时间:2016-03-08 14:48:42

标签: javascript angularjs

我在javascript中有这个结构

$scope.prefixes = [
  {'id': 'Mr', 'name': 'Mr.'},
  {'id': 'Mrs', 'name': 'Mrs.'}                
];

如果我的用户是先生或夫人,我会得到

JSON.parse(localStorageService.get("user")).prefix. 

根据用户登录时获得的数据。因此用户的前缀始终是动态的。

这是我的想法,即如果用户是先生或夫人,将其放入范围var,然后使用HTML中的范围var来设置选择标记的默认值

 $scope.prefixes = [
   {'id': 'Mr', 'name': 'Mr.'},
   {'id': 'Mrs', 'name': 'Mrs.'}                
 ];


  $scope.readPrefixesInit;

  for (i = 0; i < $scope.prefixes.length; i++) { 
     //if dynamic is equal with one of the ids, get the name
     if ($scope.prefixes[i].id == JSON.parse(localStorageService.get("user")).prefix){
        $scope.readPrefixesInit = $scope.prefixes[i].name;                                                          
      }
 }   

然后在HTML中

  <select required autofocus class="form-control"     
        ng-model="prefix" 
        ng-init="prefix =  {{ readPrefixesInit }}"
        ng-options="f.id as f.name for f in prefixes">          
        <option value="">Select Prefix</option>  
  </select> 

这不起作用。

我收到此错误Syntax Error: Token '{' invalid key at column 12 of the expression [prefix = {{ readPrefixesInit }}] starting at [{ readPrefixesInit }}].

我得到了我的下拉列表,但没有预先选择的值。

我该如何解决这个问题? 感谢

0 个答案:

没有答案