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

标签 javascript angularjs node.js sails.js

在 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/

相关文章:

javascript - 如何防止用户向按钮发送垃圾邮件?

javascript - 使用 AngularJS 清理我的 View

javascript - 为什么在 AngularJS 中定义 Controller 时不使用显式注解?

javascript - 如何在 DynamoDB 表中插入多个项目并在超出最大容量时等待?

node.js - Node : How to test middleware making external call

javascript - Azure 应用程序配置客户端库 - getConfigurationSetting 的缓存

javascript - 为什么removeEventListener不起作用?

php - 强制在客户端缓存数据

angularjs - 页面加载时调用 Ionic 无限滚动函数

php - laravel echo 与 redis 和 socket io