我开始在PHP上使用Mustache,但我没有设法使包装函数成为债务.
我有这个模板
{{#skill_level}}
<span class="stars">
{{#stars}}
{{skill_level}}
{{/stars}}
</span>
{{/skill_level}}
Run Code Online (Sandbox Code Playgroud)
我有这些数据
$data = new StdClass;
$data->skill_level = 3;
$data->stars = function($level) {
$aux = "";
$l = intVal($level);
for ($i = 0; $i < $l; $i++) {
$aux .= "+";
}
for ($i = $l; $i < 5; $i++) {
$aux .= ".";
}
return $aux;
};
Run Code Online (Sandbox Code Playgroud)
我渲染m.render($tenplate, $data);,我想得到类似的东西:
<span class="stars">
+++..
</span>
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我明白了
<span class="stars">
.....
</span>
Run Code Online (Sandbox Code Playgroud)
因为Mustache传递"{{skill_level}}"给我的函数而不是值3.
此外,如果我更改模板,在胡子标签中放置退格:
{{ …Run Code Online (Sandbox Code Playgroud)