0

我使用 ngstorage 在 localstorage 中保存一些值我的控制器是:

app.controller("main", function( $scope, $localStorage) {
 $scope.$storage = $localStorage.$default({           
            selectedlanguage: { language: null, text: "All Languages" }
        });
  $scope.languages = [
            { language: null, text: "All Languages" },
            { language: "en", text: "English" },
            { language: "ar", text: "Arabic" }
        ];

}

我的看法是:

<select ng-model="$storage.selectedlanguage" ng-options="lang.text for lang in languages">
 </select>

重新加载页面时,角度无法绑定所选语言提前致谢

4

1 回答 1

1

在 ng-options 属性中,您可以在其自身的表达式中为每个选项指定值和标题,您的另一个问题是您将对象指定为 ng-model,您需要告诉下拉列表要匹配哪个值on,因此访问选定语言对象上的语言将正常工作。

<select ng-model="$storage.selectedlanguage.language" ng-options="lang.language as lang.text for lang in languages">
</select>

上面和下面是一样的,但是表达式更复杂,下面只是更容易阅读但完全一样:

<select ng-model="$storage.selectedlanguage.language">
    <option ng-repeat="lang in languages" value="{{lang.language}}">
      {{lang.text}}
    </option>
</select>

演示:https ://jsfiddle.net/suunyz3e/289/

于 2016-08-22T00:21:16.117 回答