2012-10-02 104 views
0

我想知道是否像客戶端/服務器操作模型基本可以與Meteor(meteor.com)框架輕鬆實現。客戶端/服務器方法在流星

一個原始模板應

<template name="input"> 
    <div> 
    <input type="text" val=""> 
    <input type="submit"> 
    </div> 
</template> 

<template name="output"> 
    <div id="output"> 
    </div> 
</template> 

等待輸入,調用服務器上輸入的值執行serverFunction(),並將結果插入到輸出標籤。不需要收藏,mongo或認證。當然,每個客戶都應該收到自己的結果。看起來Meteor.publish()只對集合進行操作。

回答

0

如果您告訴它流星只有一個流星彙集與一個Mongo集合關聯。您還可以使用它們來打包任意數據。

流星收藏的三大好處(對我來說,至少):

  1. 的發佈/訂閱模式保持服務器和客戶端的數據同步
  2. 他們可以換堅持(蒙戈)或任意數據
  3. 與蒙戈的語法來查詢它們的能力
+0

的文檔狀態的集合總是拴蒙戈一旦我的名字,否則它不同步。 – punund

+0

它在哪裏說的?我發佈(同步)定期保存在Mongo中的集合。 – Lloyd

1

看一看流星文檔中的方法部分: http://docs.meteor.com/#methods_header

「方法是Meteor客戶端可以調用的遠程函數。」

還有Wordplay示例中的代碼來演示如何使用此RPC機制(請參閱此示例項目中model.js和game.js中Meteor.methods({...})的定義以獲取更多信息) 。

+0

Meteor.methods工作,但示例仍然依靠創建集合來區分連接的客戶端。 – punund

0

這就是我一直在尋找:

服務器:

Meteor.methods = 
    doStuff: (input) -> 
    serverFunction input 

客戶端:

Template.input.events = 
    'submit': -> 
    Meteor.call 'doStuff', $('input[type=text]').val(), (error, result) -› 
     Session.set 'result', result 

Template.output.output = -> 
    Session.get 'result 
相關問題