gpt4 book ai didi

javascript - 如何获取 Meteor iron-router 路由中多个数据参数的值?

转载 作者:行者123 更新时间:2023-11-29 10:42:52 24 4
gpt4 key购买 nike

我为我的小型 Meteor 应用程序定义了以下路由:

this.route('browse-class', {
path: '/browse/:_class',
data: {
theClass: function() { return this.params._class; },
numBooks: function() { return Books.find({"class": this.params._class},{sort:{"createdAt": 1}}).count(); },
books: function() { return Books.find({"class": this.params._class},{sort:{"createdAt": 1}}); }
}
});

我不明白如何访问数据的返回值。即,numBooks。它应该返回一个整数,但我似乎无法让它与我的模板助手中的以下代码一起运行:

Template.browseClass.helpers({

booksFound: function() {
return this.data.numBooks > 0;
},

theOwner: function() {
theUser = Meteor.users.findOne({_id: this.owner});
return theUser.username;
}

});

当我 console.log() 我正在比较的值时,似乎它正在尝试比较函数而不是它返回的值或其他什么?我有点困惑。

如有任何想法,我们将不胜感激。谢谢!

最佳答案

data 应该像这样在你的路由中定义为一个函数:

data:function(){
var booksCursor=Books.find(...);
return {
theClass:this.params._class,
numBooks:booksCursor.count(),
books:booksCursor
};
}

然后,如果您将 browseClass 指定为路由模板,它将以 data() 的结果作为数据上下文呈现,因此您可以像这样访问属性:

Template.browseClass.helpers({
booksFound:function(){
return this.numBooks>0;
}
});

<template name="browseClass">
Number of books : {{numBooks}}
{{#each books}}
{{...}}
{{/each}}
</template>

关于javascript - 如何获取 Meteor iron-router 路由中多个数据参数的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25409210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com