在 CakePHP html 助手中嵌入 Angular 表达式

Embed Angular expression in CakePHP html helper

本文关键字:Angular 表达式 CakePHP html      更新时间:2023-09-26

我想像这样在html助手中嵌入angularjs表达式。

<td><?php
echo $this->html->link(_('{{row.Document.name}}'), array('controller' => 'documents', 'action' => 'edit', '_({{row.Document.id}})'));
?>
</td>

在此代码中,它能够正确获取 name 参数,但不能获取 id,只是想知道如何修复它?

谢谢。

你不能,

因为它会对此进行URL编码'_({{row.Document.id}})'

不要使用帮助程序或扩展帮助程序,并使用如下代码重载方法:

$url = Router::url($url);
foreach ($options['unescapedParams'] as $param) {
    $url .= $param;
}

并通过选项传递您不想被转义的参数。我根本不会使用助手。我的经验是,我通常在视图中有很多特定于 Angular 的东西,以至于将助手用于表单(以任何方式完全由 Angular 处理)最终只会拥有包含所有 Angular 属性的巨大$options数组。