将对象从express暴露到angularJS
Expose an object from express to angularJS
我想在Angular控制器中提供一个通过express检索的数据对象。现在我可以使用玉模板中的数据对象,如果我访问它的话…
#{data.mens.pants.jeans}
Express Code
api.get(query, options)
.then(function(results) {
log.info('api response received. rendering...');
res.render('../mens/views/index', {
data: {
query: query,
item: results
}
});
})
.error(function(err) {
errors.renderError(res, err);
});
});
我不想要的
- 进行另一个$http调用
- 使用ng初始化
我尝试过使用.constant(),但常量只能包含字符串。
如何在角度控制器内部使来自express的对象可用。
提前感谢您抽出时间。
让我为您解释整个往返行程,从angular到express的请求,再到angular的响应。
您应该使用res.json(..)将数据发送回angular客户端,而不是使用res.render(..)[/strong>。如果您想使用好的promise,但我下面的示例是使用简单的回调。
api.get = function(req,res){
//use req.params.<param_name> to get the parameter passed from angular.
<some model>.someMethod({.params..},function(err,results){
if(err){
res.send(err);
}
res.json(results);
});
};
假设您已经为上面的代码段定义了适当的路由,并使用http://localhost:3000/api/data/:id
因此,在前端Angular中,当您需要数据时,您可以使用$resource或$http服务来调用后端API。
var module = angular.module('app.services',['ngResource']);
module.factory('MyABCService',function($resource){
return $resource('api/data/:id',
{
id: '@id'
},
{
'update': { method:'PUT' }
},
{
'get': { method: 'GET', isArray: false }
},
{
'delete': { method: 'DELETE'}
}
);
});
现在在角度控制器中创建从API获取数据的方法。
$scope.searchABC = function(_id){
$scope.myABCService = new MyABCService();
$scope.myABCService.$get({id:_id},function(result){
//now AngularJS has two way data binding, so use result to assign values to your scope variables.
});
}
如果您需要更详细的答案,请告诉我。
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- AngularJS:我可以跳过函数参数回调吗
- AngularJS UI路由器不能像ng路由器那样工作
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- 如何包含特定于每个视图angularjs的javascript文件
- AngularJS:ng之后,重复$scope值未按预期更新
- AngularJS-在JSON选择器中使用变量名
- $window.ga在AngularJS事件中未定义
- AngularJS-使用'true'属性
- 打开一个模态并将其链接到AngularJS中的指令
- Angularjs代码未在匿名函数中运行
- angularjs+rails应用程序中未显示模板
- 我的AngularJS表达式没有'不起作用
- AngularJS:将ng重复作用域暴露给ng transclude
- 将对象从express暴露到angularJS
- 如何在使用 SailsJS + AngularJS 时防止模板暴露
- AngularJS-暴露字符串的服务
- 将angularjs网格数据从一个控制器暴露到另一个控制器
- AngularJS.如何暴露给视图应用级常量
- 如何将自定义函数暴露给angularjs表达式