0

戻り値がコンソールに出力されています。しかし、それはテンプレートに表示されません

私のテンプレート

<template name="Mytemplate">
<ul>
   {{#each Name}}
      <li>{{this}}</li> //No display
   {{/each}}
</ul>
</template>

js

Template.Mytemplate.helpers({
  Name : function(){
    Meteor.call("getnNames", function(error, result) {
      if(error){
        alert("Oops!!! Something went wrong!");
        return;
      }else{
       console.log(result); // Got result in array ["john","smith"]
       return result;
      }
    });
  }

});

私はその見返りに正しいですか?またはそれを行う方法は?

4

3 に答える 3

0

AMeteor.callはテンプレート内で何も返しません。関数内でcallは結果を返しますが、呼び出し自体は何も返しません。

Meteor Docsから:

クライアントでは、コールバックを渡さず、スタブ内にいない場合、call は undefined を返し、メソッドの戻り値を取得する方法がありません。これは、クライアントにファイバーがないためです。そのため、メソッドのリモート実行をブロックする方法は実際にはありません。

ただし、を変数に入れて、反応的に返すことはできresultますSession

于 2015-05-06T14:04:17.243 に答える