我正在尝试以编程方式在玉模板中显示/渲染对象,通过将对象数组传递给视图来实现。目标是显示一个网格视图,每行最多包含 3 个项目/对象。我遇到了嵌套元素在行内代码块中自动关闭的问题。
我已经开始尝试使用 Mixins 来实现我的目标:
mixin testCase_Columns(obj)
- for (var i = 0; i < obj.length; i++)
if (i%3==0)
div.row
+renderObj(i, obj)
上述逻辑确定我的数组中的当前对象编号是否可被 3 整除。这就是我打算如何控制每行渲染 3 个项目/对象的方式。从这里我将对象和计数器变量传递给第二个mixin:
mixin renderObj(i, obj)
- for(var xx = 0; xx <3 ; xx++)
div.col-lg-4
p='Object:' + obj[i].proj
**- i++**
上面,我渲染了三列并将 1 添加到我的计数器“i”中,在这种情况下,“i”用于声明我的对象数组键。
我遇到的问题是当我包含 i++ 增量语句时,jade 返回错误:
type error: Cannot read property 'proj' of undefined
但是我已经执行了各种测试,包括通过手动声明键来访问和打印每个对象:
obj[1].proj / obj[2].proj / obj[3].proj for example.
当我尝试添加一个增量语句时,它在我面前爆炸了。
我还在学习节点/玉等。也许我的编码不正确。我知道上面的代码语句缺乏正确呈现包含少于三个对象的最后一行的基本逻辑,但目前我只是在测试。
任何帮助将非常感激。
提前致谢。