Node.js Sails.js+;AngularJS——从帆到角帆获取数据
我正试图找到一个最好的方法来做到这一点,所以任何帮助将不胜感激 如果您点击这个链接“/comment/{threadid}+{不管评论标题是什么}”,Sails将从数据库中获取threadid内容。一旦它抓取了数据,它将把它发送给Angular,Angular将显示出来 这是一个CRUD应用程序,需要是一个单页应用程序 任何方向都会有帮助,因为我不是100%了解文件的流程。我一直对URI中应该采用什么路由器(角度或帆)感到困惑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端点,否则它
谢谢 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硬链接。我看到的所有例子都是这样的,都有硬链接。另外,您将服务代码放在哪里?