7

我知道我可以用这个

public function providerAction()
{
    $result = new ViewModel();
    $result->setTerminal(true);

   return $result;
}

但是如何将变量传递给视图?在我这样做之前

return array('items' => $items);

但是现在我只有一个选择,要么返回数组,然后布局就在那里,要么返回,$result然后变量不在视图中。

4

2 回答 2

26

在您的示例中,您可以这样写:

public function providerAction()
{
    $result = new ViewModel();
    $result->setTerminal(true);
    $result->setVariables(array('items' => 'items'));
    return $result;
}
于 2012-06-11T09:06:00.770 回答
2

以前的答案完美无缺。我只想添加,而不是使用setVariables你也可以在实例化时直接传递你的变量,ViewModel如下所示:

$result = new ViewModel(array('items' => $items));
于 2014-02-24T21:11:23.083 回答