从 ngstorage 绑定到下拉列表
Bind from ngstorage to dropdown
我使用 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>
重新加载页面时angular无法绑定所选语言
提前致谢
在 ng-options 属性中,您可以在表达式中为每个选项指定值和标题,您的另一个问题是您将 object 指定为 ng-model,您需要告诉下拉菜单要匹配哪个值,因此访问所选语言 object 上的语言将正常工作。
<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>
我使用 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>
重新加载页面时angular无法绑定所选语言 提前致谢
在 ng-options 属性中,您可以在表达式中为每个选项指定值和标题,您的另一个问题是您将 object 指定为 ng-model,您需要告诉下拉菜单要匹配哪个值,因此访问所选语言 object 上的语言将正常工作。
<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>