gpt4 book ai didi

javascript - 为什么我的 Meteor 应用程序没有任何显示?

转载 作者:行者123 更新时间:2023-11-30 08:46:22 25 4
gpt4 key购买 nike

我在我的 client.js 文件中有这个

Template.data.champ = Meteor.call("checkLeague", function(error, results) {
console.log(results.data.data);
return results.data.data;
});

所以它在 console.log 中显示正常,但实际上并没有显示在网页上。

这是我的带有 Handlebars 模板的 html 文件

<body>
{{> hello}}
{{> data}}
</body>

<template name="hello">
<h1>Hello World!</h1>
{{greeting}}
<input type="button" value="Click" />
</template>

<template name="data">
{{#each champ}}
{{name}}
{{/each}}
</template>

根据我的理解(在 Handlebars 方面非常有限)但是 {{#each champ}} 迭代对象?但由于某种原因,页面上没有显示任何内容。

这是对象结构(显示在控制台中)。

Object {Aatrox: Object, Ahri: Object, Akali: Object, Alistar: Object, Amumu: Object…}
Aatrox: Object
id: "Aatrox"
image: Object
key: "266"
name: "Aatrox"
title: "the Darkin Blade"
__proto__: Object
Ahri: Object
Akali: Object
Alistar: Object
Amumu: Object
Anivia: Object
Annie: Object
Ashe: Object

所以基本上我正在传递一个对象,该对象具有具有对象值的属性。我假设 {{#each} 遍历属性并提供对值(这是一个对象)的访问,然后我尝试访问 handlebars< 中该变量的 name 属性 模板,但它不起作用。

最佳答案

来自关于 Meteor.call 的文档:

If you include a callback function as the last argument (which can't be an argument to the method, since functions aren't serializable), the method will run asynchronously: it will return nothing in particular and will not throw an exception.

因此,无论 Template.data.champ 被赋予什么值,它都“没什么特别的”(请注意,您从回调中返回的内容永远不会在任何地方使用)。

你可以像这样将它存储在一个 Session 中:

Session.setDefault('theData', [])

Meteor.call("checkLeague", function(error, results) {
Session.set('theData', results.data.data)
});

Template.data.champ = function(){
return Session.get('theData')
}

但我会尝试使用集合。

关于javascript - 为什么我的 Meteor 应用程序没有任何显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21694282/

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