使用DOM中的信息创建一个控制器/服务来持久化数据
Creating a controller/service to persist data, with information from the DOM
在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
,所以所有的运动都显示在开头,但你可以取消选中这些运动,以便在再次选中之前看不到它们。
到目前为止,这就是我所拥有的,并且可以工作,但一旦刷新页面,所有的检查和取消检查都会消失,刷新后一切都会重新启动,所以正如你所知,我需要将这些数据保存在DB或其他文件中,我将使用node.js/sails.js和Redis来实现这一点。我知道如何在node.js部分创建几乎所有的东西,但在控制器和服务的Angular部分我需要一些帮助,所以我需要你的帮助。
我希望用户只能查看一次他们的运动,而不是每次登录应用程序。
那么,当一项运动被取消检查时,我可以向控制器添加哪些功能来向服务提供建议,以及服务将如何接收这些数据?
此外,如果你对NodeJS部分有任何建议,那也太棒了。
下面是一个可以使用的示例。这是赤裸裸的。$http
的所有功能都与承诺配合使用。当控制器从服务请求新的设置时,如果该设置为空,则控制器将从服务获取设置
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}}
我不想写你所有的代码,但也许这让你深入了解了你可以做什么
相关文章:
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- Javascript/jQuery压缩一个图像正确的评论帖子,并使用Ajax Laravel 5.2保存到控制器中
- 从AngularJS中的另一个文件中的控制器访问服务
- 如何将一个变量从一个控制器传递到合金中的另一个控制器
- 如何从AngularJs中的另一个控制器访问控制器
- 相对于角度控制器中的另一个阵列过滤阵列项目
- 试图将一个局部变量传递给我的ngAside控制器
- SignalR返回到一个客户端,由控制器生成
- angularjs调用事件中控制器的一个函数
- 单击angularjs中的另一个控制器时重新加载控制器
- ASP.NET angularjs重定向到控制器的另一个视图
- $scope$观察数组中的一个特定对象——Angular JS控制器
- 如何在来自另一个文件的控制器中定义变量
- Angularjs - 观察模态窗口从另一个控制器关闭
- 在一个控制器中更新服务变量,并在另一个控制器 - Angular JS中使用更新的值
- AngularJS - 一个文件中的控制器和服务
- AngularJs 从指令中的另一个调用控制器
- 如何使用javascript express node将变量从控制器中的一个方法公开.js到另一个控制器.js
- 每个AngularJS控制器一个脚本标记