使用DOM中的信息创build控制器/服务来保存数据

在angular度,我有一个视图中的项目列表将显示在另一个视图取决于他们是否被检查。

这是您查看您想要显示在另一个视图中的运动的视图

<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。 我对如何创buildnode.js部分中的几乎所有东西有一个想法,但是我需要在控制器和服务的Angular部分中提供一些帮助,所以我需要你的帮助。

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

那么当运动没有被选中时,我可以向控制器添加哪些function,以便为服务提供build议,以及服务如何接收这些数据?

另外,如果您对NodeJS部分有任何build议,那也太棒了。

这里是你可以使用的一个例子。 这是非常不正确的。 所有的$http函数都符合promise。 控制器将从服务中获取设置,如果该设置为空,则从服务请求新的设置

 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); } } }]); 

然后从您的视图中,您可以将控制器分配给视图,然后引用您的设置,如{{settings.propname}}

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