gpt4 book ai didi

javascript - 使用来自 DOM 的信息创建一个 Controller /服务来持久化数据

转载 作者:行者123 更新时间:2023-11-30 17:00:54 25 4
gpt4 key购买 nike

在 Angular 中,我在一个 View 中有一个项目列表,这些项目将显示在另一个 View 中,具体取决于它们是否被选中。

这是您检查要在另一个 View 中显示哪些运动的 View

<ion-item ng-repeat="sport in sports"
ng-init="sport.checked = true"
ng-click="sport.checked = !sport.checked">
{{:: sport.name}}
</ion-item>

这是另一个视角

<div ng-show="sport.checked"
ng-repeat="sport in sports">
{{sport.name}}
</div>

如您所见,所有这些运动都有一个 ng-init = sport.checked = true,因此所有运动都显示在开头,但您可以取消选中这些运动以便看不到直到您再次检查它们。

这就是我目前所有的工作,但是一旦你刷新页面,所有的检查和取消检查都会消失,刷新后一切都会重新启动,所以你知道我需要将数据保存在数据库或其他东西中,我正在使用为此,node.js/sails.js 和 Redis。我知道如何在 node.js 部分创建几乎所有内容,但我在 Angular 部分需要一些关于 Controller 和服务的帮助,所以我在这里需要你的帮助。

我希望用户只能查看一次他们的运动,而不是每次他们登录应用程序时。

那么当一项运动未被选中时,我可以向 Controller 添加哪些功能来向服务提供建议,以及服务将如何接收该数据?

此外,如果您对 NodeJS 部分有任何建议,那也很棒。

最佳答案

这是您可以使用的示例。这是非常简陋的。所有 $http 函数都与 promises 一起工作。 Controller 将从服务获取设置,如果它为空,它会从服务请求新设置

angular.module('app').controller('appctrl',['appsrv','$scope',function(appsrv, $scope){
$scope.settings = service.settings;
if(!$scop.settings){
//retrieve data from server when it's not in the service
appsrv.getSettingsRemote().then($scope.settings = service.settings);
}

}]).service('appsrv',[$http, function($http){

return {
getSettings : function (){
// get settings from localstorage
},
setSettings : function (){
// store settings to localstorage
},
getSettingsRemote : function () {

$http.get('url').then(//set things locally);
}
}

}]);

然后从您的 View 中,您可以将 Controller 分配给 View ,然后引用您的设置,例如 {{settings.propname}}

我不想写你所有的代码,但也许这让你了解了你可以做什么

关于javascript - 使用来自 DOM 的信息创建一个 Controller /服务来持久化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28887601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com