显示阵列Meteor Helper

时间:2017-06-09 07:07:13

标签: javascript meteor

对于每个问题,我试图使用Meteor Helpers在li中显示选择数组。

MongoDB我的收藏是:

{ "_id" : "AS7zMpdqWzpRyzdDw", "question" : "Favorite Color?", "answer" : "Blue", "choices" : [ "Blue", "Green", "Red", "Black" ] }
{ "_id" : "RaDxyRjDyL4at6oN4", "question" : "Favorite Truck?", "answer" : "Ram", "choices" : [ "Silverado", "Tundra", "Ram", "Titan" ] }
{ "_id" : "n6kvXfoLKueTZiR2A", "question" : "Favorite Animal?", "answer" : "Dog", "choices" : [ "Cat", "Dog", "Horse", "Fish" ] }

帮助程序的代码是

Template.genKnow.helpers({
question(){
    return GenKnow.find({});
},

});

html的代码是

    {{#each question}}
<div id="testQuestions">
    <div class="question" id="question">
        <h3 id="quesNum">QUESTION</h3>
        <p id="questions">{{question}}</p>
    </div>

    <div class="choices">
        <h3>CHOICES</h3>
        <ol id="choices">
            <li>{{choices}}</li>
        </ol>
    </div>

    <div class="answer">
        <h3>CORRECT ANSWER</h3>
        <p id="answer">{{answer}}</p>
    </div>
</div>
{{/each}}

screen shot of what it is returning

对于选择它正在返回

1. Blue, Green, Red, Black

我希望它返回

1. Blue
2. Green
3. Red
4. Black

我试过

<div class="choices">
        <h3>CHOICES</h3>
        <ol id="choices">
            {{#each {{choices}} }}
                <li></li>
            {{/each}}
        </ol>
    </div>

收到错误消息

        <div class="choices">
        <h3>CHOICES</h3>
        <ol id="choices">
            {{#each question.choices }}
                <li></li>
            {{/each}}
        </ol>
    </div>

仍然是错误

知道如何让数组作为li项返回吗?

谢谢

1 个答案:

答案 0 :(得分:0)

我使用了一个meteor方法来执行返回GenKnow.find({})的查询; 我会使用

查询
Template.genKnow.helpers({
question(){
    Meteor.call('meteorMethod', dataObject, function(error, success) { 
        if (error) { 
            console.log('error', error); 
        } 
        if (success) { 
          for (var i = 0; i < success.length; i++) {
              var element = success[i];
              return element
          }

        } 
    });
},

然后在我的方法

Meteor.methods({ 
    meteorMethod: function() { 
         Return GenKnow.find ({this.userId}) fetch ();
    } 
});