0

是否可以向Grails Platform Core Navigation API生成的每个菜单项添加 HTML 属性,例如id或?class

也许类似于:

home(controller: 'home', action:'index', titleText:'Home', elementId: 'navHome')

我正在编写一些使用生成的链接的功能测试。但是,链接文本(可能还有 URL)可能会改变。使用 ID 将使测试更易于维护。

4

1 回答 1

0

dataNavigation API 提供了通过地图和自定义菜单项呈现添加附加值的能力。

例子:

步骤1

data地图添加到 中的菜单项定义config/AppNavigation.groovy

home(controller: 'home', action:'index', titleText:'Home', data: [elementId: 'navHome'])

第2步

参考GSP 文件中data使用的地图。item.data.*

<nav:primary scope="some scope" custom="true">
    <li>
        <p:callTag
            tag="g:link"
            attrs="${linkArgs + [class:active ? 'active' : ''] + [elementId:item.data.elementId]}"
        ><nav:title item="${item}"/></p:callTag>
   </li>
</nav:primary>

这将产生以下 HTML:

<ul class="nav primary">
    <li>
        <a href="/VVAdmin/" id="navHome" class="active">Home</a>
    </li>               
</ul>

有关详细信息,请参阅Navigation API 文档中的nav:menu标记文档。

于 2013-07-10T09:47:29.727 回答