我在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 }}].
我得到了我的下拉列表,但没有预先选择的值。
我该如何解决这个问题? 感谢