【发布时间】:2023-03-05 09:00:01
【问题描述】:
我试图在我的 Blade 模板中使用一个变量,但我总是得到
ReferenceError: 文件未定义
我的理解是,将变量传递给模板的正确方法是这样的 (client/ceres.js):
Meteor.startup(function() {
Files = new Meteor.Collection('files');
Template['files'].files = function() {
return Files.find();
}
});
(复制自“todos”示例)
然后我应该可以在我的模板中使用它,views/files.blade:
ul
foreach files as file
li= file.filename
但我猜变量传递给模板太晚了?但是如果我把我的 JS 从Meteor.js 中取出,那么Template 就没有定义了。
所以我不明白。我的模板不存在,或者变量不存在,它总是崩溃。如何传递一个简单的变量?
同样的错误:
ul
- for(var i=0; i<files.length; ++i)
li= files[i].filename
【问题讨论】:
-
如果您尝试过
foreach Files.find() as file有帮助吗? -
@Akshat:不,它没有。
.find()应该已经通过我的客户端 JS 应用了,但无论如何,files变量本身并不存在,因此向它添加属性不会有帮助。不过,我试了一下,错误确实是一样的:“ReferenceError: files is not defined” -
我的意思是因为带有大写字母的文件是对集合的引用,我知道使用 Template.files.files = function().. 适用于车把,但如果可以的话,对于刀片可能会有所不同只需在刀片模板中运行 js
-
@Akshat:哎呀!我没看到大写的F。它也不识别
Files。
标签: meteor node-blade