用 Meteor-Angular 参数订阅
Subscribe with parameters with Meteor-Angular
我是 Meteor 的新手,我正在尝试使用 angular-meteor
构建在线报告应用程序,但我在尝试 publish
和 subscribe
带参数。
在lib/collections.js,
TestReport = new Mongo.Collection('test_report');
在server/publications.js,
Meteor.publish('testReportDetail', function(reportID) {
check(reportID, String);
return TestReport.findOne({_id: reportID});
});
在client/test_report_detail.js,
angular.module('myapp').controller('myCtrl', function($scope, $reactive, $stateParams) {
$reactive(this).attach($scope);
this.subscribe('testReportDetail', $stateParams.reportID);
this.helpers({
reportDetail: function() {
return TestReport.find({_id: $stateParams.reportID});
}
});
});
当客户端浏览器尝试访问报告详细信息时,它在控制台中收到错误
typeError: fn is not a function
有什么想法...?
在 server/publications.js 中,您应该使用 find() 而不是 findOne()。
Meteor.publish('testReportDetail', function(reportID) {
check(reportID, String);
return TestReport.find({_id: reportID});
});
尽管这两个函数的签名相似,但它们 return 非常不同! find() 将 return 一个游标,但 findOne() 实际上 return 一个对象。
我刚刚发布的新 1.3.1 版本中修复了 this.subscribe
,请再次查看 - https://github.com/Urigo/angular-meteor/releases
我是 Meteor 的新手,我正在尝试使用 angular-meteor
构建在线报告应用程序,但我在尝试 publish
和 subscribe
带参数。
在lib/collections.js,
TestReport = new Mongo.Collection('test_report');
在server/publications.js,
Meteor.publish('testReportDetail', function(reportID) {
check(reportID, String);
return TestReport.findOne({_id: reportID});
});
在client/test_report_detail.js,
angular.module('myapp').controller('myCtrl', function($scope, $reactive, $stateParams) {
$reactive(this).attach($scope);
this.subscribe('testReportDetail', $stateParams.reportID);
this.helpers({
reportDetail: function() {
return TestReport.find({_id: $stateParams.reportID});
}
});
});
当客户端浏览器尝试访问报告详细信息时,它在控制台中收到错误
typeError: fn is not a function
有什么想法...?
在 server/publications.js 中,您应该使用 find() 而不是 findOne()。
Meteor.publish('testReportDetail', function(reportID) {
check(reportID, String);
return TestReport.find({_id: reportID});
});
尽管这两个函数的签名相似,但它们 return 非常不同! find() 将 return 一个游标,但 findOne() 实际上 return 一个对象。
我刚刚发布的新 1.3.1 版本中修复了 this.subscribe
,请再次查看 - https://github.com/Urigo/angular-meteor/releases