0

我想将数组值传递给视图函数,以便它可以根据发送的值发回一些 HTML。我希望我的系统发送回文本区域、文本框或单选按钮。

在我的小胡子上{{#get_question}}{{type}}{{/get_question}},类型可以具有来自 ["input","radio","comment"] 的任何值 我遇到的主要问题是如何调用此函数并传递参数。

我想要一个 php 函数 get_question 来提取 {{type}} 中传递的值,如果类型不是文本,我想将类型的值传递给我的部分调用{{>}}并动态加载由 {{ type}} 我从 Kohana 论坛获得了这个代码示例:

Hello, {{#caps }}{{ text }}{{/ caps }}!

    $m = new Mustache_Engine(array(
        'helpers' => array(
            'caps' => function() {return function($text, $m) {
                  return strtoupper($m->render($text));
            }}
        )
    ));

从我的角度来看,我似乎无法让它工作,因为我必须将它封闭在另一个function(){}块中。

我该怎么做?

4

1 回答 1

0

这是一个令人头疼的问题,因为您正在与 Mustache 的基本原理作斗争 :)

这与“小胡子方式”有点倒退。与其试图通过 lambdas 硬塞逻辑,您应该将逻辑提取到您的视图/视图模型/模型中,并将您的模板限制为简单的部分和字符串插值。像这样的东西可以解决问题:

{{# questions }}
  {{# is_input }}{{> input }}{{/ is_input }}
  {{# is_radio }}{{> radio }}{{/ is_radio }}
  {{# is_comment }}{{> comment }}{{/ is_comment }}
{{/ questions }}

然后每个问题 view/viewmodel/model 将回答is_input(),is_radio()is_comment()

于 2015-02-20T05:44:12.370 回答