- 在HTML中创建一个动态下拉菜单,并为其绑定一个ng-model属性和一个ng-options属性。
- 在AngularJs控制器中,读取LocalStorage并将其存储在$scope.items中。
app.controller('myCtrl', function($scope) {
// 从LocalStorage读取数据
var storedItems = JSON.parse(localStorage.getItem("items"));
// 将数据存储在$scope对象中
$scope.items = storedItems;
});
- 如果localStorage中没有任何值,那么可以通过一个http请求获取数据并将它们与本地存储的数据一起存储在$scope中。
app.controller('myCtrl', function($scope, $http, $q) {
// 从LocalStorage读取数据
var storedItems = JSON.parse(localStorage.getItem("items"));
// 如果localStorage中没有任何值
if(storedItems === null) {
// 创建一个Promise,用于异步获取数据
var fetchItems = function() {
var deferred = $q.defer();
$http.get('/api/items').success(function(data) {
// 存储获取到的数据
$scope.items = data;
localStorage.setItem("items", JSON.stringify(data));
// 将Promise标记为已完成
deferred.resolve();
});
return deferred.promise;
};
// 调用Promise函数
fetchItems();
} else {
// 将数据存储在$scope对象中
$scope.items = storedItems;
}
});