0

ローカルストレージに値を保存するために ngstorage を使用しました。私のコントローラーは次のとおりです。

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 であるため、selectedlanguage オブジェクトの言語へのアクセスは正常に機能します。

<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 に答える