在呈现之前运行Meteor客户端javascript(完全异步方法)
我的meteor应用程序与mongodb支持的node.js微服务交互。我想在meteor应用程序上使用autoform,而不必维护模式的两个副本 微服务模式是猫鼬,但为autoform的简单模式编写一个转换器是非常困难的 将翻译成meteor一直是困难的部分 首先,我打算使用npm。这证明是一个问题,因为meteor/hacks不能使用本地(npm链接)包 然后,我考虑了browserify。这不好,因为mongoose与客户端不兼容 最后,我决定用express提供翻译 剩下的问题是,在autoform尝试渲染之前,我需要使用collection2附加模式 我将HTTP请求放在Meteor.method中。如何/在何处调用attachSchema(),使其在尝试渲染之前发生 这就是我所尝试的:在呈现之前运行Meteor客户端javascript(完全异步方法),meteor,iron-router,meteor-autoform,Meteor,Iron Router,Meteor Autoform,我的meteor应用程序与mongodb支持的node.js微服务交互。我想在meteor应用程序上使用autoform,而不必维护模式的两个副本 微服务模式是猫鼬,但为autoform的简单模式编写一个转换器是非常困难的 将翻译成meteor一直是困难的部分 首先,我打算使用npm。这证明是一个问题,因为meteor/hacks不能使用本地(npm链接)包 然后,我考虑了browserify。这不好,因为mongoose与客户端不兼容 最后,我决定用express提供翻译 剩下的问题是,在au
onBeforeAction: function () {
var self = this;
Meteor.call('fetchSchema', 'ModelName', function (err, schema) {
ModelName.attachSchema(new SimpleSchema(schema));
self.next();
});
}
我得到这个错误:
Exception in delivering result of invoking 'fetchSchema': TypeError: object is not a function
我应该怎么做?您可以在服务器上运行的meteor软件包中使用npm库。这里有很多和各种博客教程。另请参见:谢谢,但我的服务器端已经关闭。给我带来麻烦的是客户端。(collection2/autoform的工作方式是,模式需要同时连接到服务器和客户端……这就是我的印象)浏览器总是受到浏览器的限制。可能您需要编写一个API,并在服务器上使用
Meteor.methods()
,在客户端使用Meteor.call()
。