在我的Meteor代碼中。我可以在服務器上定義一個方法「或函數」,並在客戶端上調用collectionName.findOne({id: 'someId'}).methodName;
?
作爲Meteor的新手,我不知道這是否可行,如果是這樣的話,語法會是什麼樣子?謝謝可以通過Collection.findOne調用Meteor方法調用
此代碼只是一個大腦轉儲。
//server
Meteor.method({
doWork1: function (args) {
//do work
return something;
}
});
MyCol = new Mongo.Collection('myCol');
MyCol.insert({item: "envelopes", qty : 100, myFunc: doWork1});
//client
Meteor.call(MyCol.findOne({item: 'envelops'}).myFunc;
編輯:
大火Sahlzen評論讓我思考,並添加以下。
的原因,我想給一個蒙戈集合的嘗試是這樣的:
第一階段:用戶填寫一個表格,然後點擊一個按鈕,輸入值需要被用作方法參數,其當成功返回時,表單會被修改爲顯示不同的輸入字段以供用戶再次填滿並單擊SAME按鈕。第二階段:與第一階段相同,但是再次輸入字段不同。
階段n:與階段n-1相同,但是再次具有不同的輸入字段。
我需要存儲所有輸入值,並將它們按其階段標識符分組。
每種方法都可以爲下一階段添加/刪除不同類型的輸入控件。
由於SAME按鈕將被使用,因此我沒有針對不同方法的不同按鈕,所以我提出了我的原始問題「大腦轉儲代碼」。歡迎您重新創造或改變它併爲您提供。 :) 再次感謝。
編輯2
一個實際的例子看起來是這樣的:
var stageOne = {};
//for each DOM input
stageOne[inputName][i]= [inputValue][i];
myCol.insert({'stageOne': stageOne});
//then an observer for stageOne
但我就是不能讓我的腦袋周圍如何「鏈接」每個階段有正確的方法,而不必調用使用long if或switch條件語句。
是否有必要將Meteor方法名稱保存到集合中? –
好的問題因此我編輯了我的問題。請參見。 –
動態更改輸入元素,處理它們並跟蹤它們 - 如果我沒有錯,這些就是你的問題處理的內容? –