【发布时间】:2018-06-19 15:52:50
【问题描述】:
我有一个 Angular JS 材质下拉菜单,并且正在从我的控制器加载项目。当用户单击一个项目时,我将其值存储到本地存储中。它运作良好。选择值后,我想将该(本地存储值)值设置为下拉默认值。
<div flex>
<md-select ng-model="$callcenterController.selectedLanguage" ng-selected="$callcenterController.getLocalStorageItem" ng-change="$callcenterHomeController.languageChange($callcenterController.selectedLanguage.name)" placeholder="{{$callcenterController.selectLanguageLabel}}" >
<md-option ng-value="languages" ng-repeat="languages in $callcenterHomeController.languageList"></md-select-label> {{ languages.name }}</md-option>
</md-select>
来自我的控制器
ctrl.getLocalStorageItem = localStorage.getItem('selectLanguage')
ctrl.languageChange = function (key) {
if (typeof this.selectedLanguage != 'undefined'){
localStorage.setItem('selectLanguage', key);
$route.reload();
} }
【问题讨论】:
-
使用要在加载时分配本地存储值的模型值,如 ctrl.defaultLanguage = localStorage.getItem('selectLanguage'); 并在模板中使用它 ng-model="$callcenterController.defaultLanguage".
标签: angularjs local-storage angular-material