0

Meteor1.0を使用しています

私は次のコードを持っています:

/lib/collections.js

Members = new Mongo.Collection('members');

/lib/router.js

Router.configure({
    layoutTemplate: 'layout',
    loadingTemplate: 'loading',
    notFoundTemplate: 'notFound',
    waitOn: function() { return Meteor.subscribe('members'); }
});

Router.route('/', {name: 'menu'});
Router.route('/member/new/', {name: 'memberNew'});
Router.route('/member/renew/', {name: 'memberRenewal'});

/server/publications.js

Meteor.publish('members', function() {
    console.log("Publishing....");
    return Members.find();
});

/client/templates/memberList.js

Template.membersList.helpers({
    listMembers: function() {
        return members.find().fetch();    >>>>>> Error line
    }
});

次のエラーが表示されます。

Exception in template helper: ReferenceError: members is not defined
at Object.Template.membersList.helpers.listMembers
(http://meteorvb.dhcp.meraka.csir.co.za:3000/client/templates/membersList.js?

/client/templates/memberList.js を read に変更すると、自動公開ビットが削除されました

Template.membersList.helpers({
    listMembers: function() {
        return Members.find().fetch();    
    }
});

すべてが機能します。

誰でも私を助けてもらえますか?

4

1 に答える 1

1

メンバーに大文字の M の代わりに小文字の m を使用したのは単なるタイプミスだと思います。

Template.membersList.helpers({
    listMembers: function() {
        return Members.find().fetch();    >>>>>> Error line
    }
});

変数は大文字と小文字が区別され、メンバー コレクションは "Members" に割り当てられているため、他の場所では "Members" として参照する必要があります。

Members = new Mongo.Collection('members');
于 2014-11-26T09:14:18.103 に答える