更新dust.js中的部分而不触及模板的其余部分

时间:2016-02-04 14:57:51

标签: javascript templates partials dust.js

我正在尝试使用dust.js,并且想知道解决这个问题的最有效方法:

我有一个简单的模板结构,包含2个级别的导航和内容。

第一级导航是静态的 - 而第二级(子导航)随主导航中的每次更改而变化。

父模板:

<nav class="navbar navbar-fixed-top navbar-dark">
    <div class="container">
        {>"navigation/navigation_primary"/}
        {>"navigation/navigation_secondary"/}
    </div>
</nav>

<div class="container"></div>

主要导航模板:

<div class="navbar-container navbar-primary">
    <ul class="nav navbar-nav">
        {#navigation_primary}
        <li class="nav-item">
            <a class="nav-link" href="#{slug}">{label}</a>
        </li>
        {/navigation_primary}
    </ul>
</div>

辅助导航模板:

<div class="navbar-container navbar-secondary">
    <ul class="nav navbar-nav">
        {#navigation_secondary}
        <li class="nav-item">
            <a class="nav-link" href="#{slug}">{label}</a>
        </li>
        {/navigation_secondary}
    </ul>
</div>

现在,我的问题是:如果没有重新加载页面,当我点击主要导航元素时,我想更新“辅助导航”。

我这样做的方法是重新渲染“辅助导航模板”,然后用新渲染的模板(用jQuery.html())替换旧的“.navbar-secondary” - 但我是想知道dust.js是否有它自己的功能,因为它能够异步加载部分?

老实说,我没有发现大多数dust.js文档信息量很大,所以我很难搞清楚细节。

有没有更好的方法只更新部分并保持模板的其余部分不受影响,而不使用像jQuery.html()那样的东西并替换dust.js中的部分?

0 个答案:

没有答案
相关问题