【发布时间】:2015-09-15 11:10:17
【问题描述】:
在我想将客户端集合查找/插入方法更改为服务器端之前,我已经让这段代码工作了。我从我的流星项目中删除了不安全和自动发布,并将我的代码更改为下面的内容。
client/controllers/item-controller.js 中我的 Angular 代码
angular.module('prototype').controller('ItemController', ['Config','$window','$meteor', function(Config, $window, $meteor) {
this.items = function(){
Meteor.call('getAllItems', function(err, res){
alert("error: " +err + " res: " + res );
return res;
});
}
server/item-collection-methods.js中的我的物品收集代码
Meteor.methods({
getAllItems : function(){
console.log("i got here")
return Items.find();
}
});
我在lib/app.js的主文件
Items = new Mongo.Collection("Items");
在我显示 15 个项目之前,现在没有一个显示。
当我将 Meteor.call 函数复制到 chrome 控制台时,我得到的只是undefined。
我感觉它要么与项目结构有关,要么与自动发布和不安全被删除的事实有关。任何建议都会有所帮助。
编辑:
我确实在我的服务器控制台中得到了一些东西
I20150629-00:54:54.402(-4)? Internal exception while processing message { msg: '
method', method: 'getAllItems', params: [], id: '2' } Maximum call stack si
ze exceeded undefined
【问题讨论】:
-
嗯...由于您删除了自动发布,您在服务器上手动发布并订阅 Iron Router 或模板中的数据,对吧?
标签: javascript angularjs meteor