Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更新dust.js中的部分内容,而不接触模板的其余部分_Javascript_Templates_Partials_Dust.js - Fatal编程技术网

Javascript 更新dust.js中的部分内容,而不接触模板的其余部分

Javascript 更新dust.js中的部分内容,而不接触模板的其余部分,javascript,templates,partials,dust.js,Javascript,Templates,Partials,Dust.js,我正在尝试使用dust.js,我想知道解决这个问题的最有效方法: 我有一个简单的模板结构,有两个级别的导航和内容 第一级导航是静态的,而第二级(子导航)随着主导航的每次更改而更改 父模板: <nav class="navbar navbar-fixed-top navbar-dark"> <div class="container"> {>"navigation/navigation_primary"/} {>"nav

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

我有一个简单的模板结构,有两个级别的导航和内容

第一级导航是静态的,而第二级(子导航)随着主导航的每次更改而更改


父模板:

<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>

{>“导航/导航\主”/}
{>“导航/导航\辅助”/}
主导航模板:

<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>

    {#导航(初级)}
  • {/navigation_primary}
辅助导航模板:

<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>

    {#导航中学}
  • {/navigation_secondary}

现在,我的问题是:在不重新加载页面的情况下,我想在单击主导航元素时更新“辅助导航”

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

老实说,我觉得dust.js文档的大部分内容都不是很丰富,所以我很难弄清楚细节


是否有更好的方法只更新部分,而不使用jQuery.html()之类的东西来替换dust.js中的部分,而保留模板的其余部分不变?

dust只是一个字符串渲染器——它只接收模板并输出渲染的字符串。它没有将这些字符串放在DOM中任何位置的功能。@Interrobang我想我已经在使用正确的方法来更新模板的部分区域了。