Node.js Sails.js+;AngularJS——从帆到角帆获取数据

Node.js Sails.js+;AngularJS——从帆到角帆获取数据,node.js,angularjs,sails.js,Node.js,Angularjs,Sails.js,我正试图找到一个最好的方法来做到这一点,所以任何帮助将不胜感激 如果您点击这个链接“/comment/{threadid}+{不管评论标题是什么}”,Sails将从数据库中获取threadid内容。一旦它抓取了数据,它将把它发送给Angular,Angular将显示出来 这是一个CRUD应用程序,需要是一个单页应用程序 任何方向都会有帮助,因为我不是100%了解文件的流程。我一直对URI中应该采用什么路由器(角度或帆)感到困惑 谢谢 Sails提供Angular应用程序使用的REST端点,否则它

我正试图找到一个最好的方法来做到这一点,所以任何帮助将不胜感激

如果您点击这个链接“/comment/{threadid}+{不管评论标题是什么}”,Sails将从数据库中获取threadid内容。一旦它抓取了数据,它将把它发送给Angular,Angular将显示出来

这是一个CRUD应用程序,需要是一个单页应用程序

任何方向都会有帮助,因为我不是100%了解文件的流程。我一直对URI中应该采用什么路由器(角度或帆)感到困惑


谢谢

Sails提供Angular应用程序使用的REST端点,否则它将提供Angular应用程序和相关(可能是静态)资产。Angular应用程序可以从Sails为任何看起来像html请求的404提供服务(在我的例子中就是这样,但是如果SEO很重要,你会想要更复杂的东西)

Angular应用程序处理客户端应用程序中的路由,包括404条/缺失路由

基本上,传统项目将在服务器端处理的所有路由现在都通过Angular在客户机中处理,而api则作为JSON从SAIL发送到客户机


您可以分别为api和Angular应用程序编写测试(我使用Frisbyjs+Jasmine作为api,使用Karma/Gragrator+Jasmine作为应用程序)。

我所做的是创建检索数据的服务,然后将数据注入控制器,默认情况下,sails从您创建的模型中提供Rest api,因此,如果您在sails中有这样的模型:

module.exports = {
  schema:true,
   attributes: {
      firstName: {
       type: 'STRING',
      },
    }
  }
您可以通过访问

  http://localhost:1337/Employees 
或在服务员工中使用资源

angular.module('app')
.factory('EmployeesFactory',function($resource){
 return{
   getEmployees:function(searchedName){
      return $resource('http://localhost:1337/Employees',{name:'@id'})
          .query({name:searchedName}).$promise.then(function(response){
              return response;
          });
    },
在你的控制器里

angular.module('app')
  .controller('EmployeesController',function($scoppe,EmployeesFactory){
        function init(){
         $scope.employees=EmployeesFactory.getEmployees();
       }
       init();
       // or to retrieve a specific employee by name
       $scope.findbyName=function(employeeName){
         $scope.employees=EmployeesFactory.getEmployees(employeeName);
     }

}

希望有帮助

您是否尝试过将角帆绑定到将帆模型绑定到角镜模型上?(). 我为自己的项目制作了它,然后决定把它作为一个独立的库,这样每个人都能从中受益,我可以有我的第一次开发bower软件包的经验

它基本上为您的客户机制作了一个实时(套接字)CRUD,用于自动保存和检索来自sails模型的信息

我希望它能帮助您(尽管您似乎正在使用特定的控制器端点)


顺便说一句:它适用于sails0.10(因为一些事情,比如主题名称自0.9以来已经发生了变化)。如果您需要使用0.9,请告诉我,我很乐意提供帮助。

首先,感谢您的帮助和代码源。我想了解的是,是否有一种方法可以避免将工厂中的$resource硬链接。我看到的所有例子都是这样的,都有硬链接。另外,您将服务代码放在哪里?