新しく開発中のフレームワークを使用する際の課題の 1 つは、Web で見つけたアドバイスが古くなっていることが多いことです。これは、SO の回答と Web 記事が 1.0.x より前のバージョンまたは 1.0.x の初期のバージョン、または以前のバージョンの Iron-router、または先週機能を導入する前のバージョンであることが多い Meteor に二重に適用されます。 .
サブスクリプションの準備が整うまでテンプレートを待機させるというコンテキストで subscriptionsReady() 関数を使用する方法については、まだ困惑しています。私のテンプレートは約 3/4 の時間でデータなしでレンダリングしようとするので、確かに必要です。
subscriptionsReady() の使用方法 私はそれをHTMLで使用する例を見てきましたが、これはちょっとばかげていると思います(ファジングプレゼンテーションと機能)。テンプレートのコード部分で使用するにはどうすればよいですか?
ある種のwaitOnを備えたアイアンルーターで使用されていますか? テンプレートレンダラーでwhileループでラップしますか? 簡単な例を教えてください。
義務的なコードのもの...私のテンプレートの私のルート:
Router.route('/', {
path: '/',
template: 'navmenu',
onBeforeAction: function() {
this.next();
}
});
私のサブスクリプション:
// Chapters
ChapterCollection = new Mongo.Collection("ChapterCollection");
if(Meteor.isClient){
Meteor.subscribe('users');
Meteor.subscribe('roles');
Meteor.subscribe('ChapterCollection');
}
html 部分は非常に単純で、一部の HTML がテンプレート タグでラップされています。
私のテンプレートコード:
Template.navmenu.rendered = function() {
// Load all chapters from collections
// Unless it decides to delay and then we are *%&@ed
chapterArray = ChapterCollection.find().fetch();
... other stuff ...
}
助けてくれてありがとう。