Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.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 使用节点js在div中追加Ejs模板文件_Javascript_Node.js_Ejs - Fatal编程技术网

Javascript 使用节点js在div中追加Ejs模板文件

Javascript 使用节点js在div中追加Ejs模板文件,javascript,node.js,ejs,Javascript,Node.js,Ejs,我有两个ejs文件。我需要根据标签单击添加模板 这里我添加了index.ejs模板代码 <!--- Header content-----> <div class="btn-group filter-suggestions" data-toggle="buttons" style="margin-left:25px;"> <label class="btn btn-default active" data-tab="tab1"> <

我有两个ejs文件。我需要根据标签单击添加模板

这里我添加了index.ejs模板代码

<!--- Header content----->
<div class="btn-group filter-suggestions" data-toggle="buttons" style="margin-left:25px;">
    <label class="btn btn-default active" data-tab="tab1">
        <input type="radio"  name="suggest" value="1" />
        Tab1 </label>
    <label class="btn btn-default" data-tab="tab2">
        <input type="radio"  name="suggest" value="2" />
        Tab2 </label>
</div>
<div class="tabcontent"> TabContent</div>
<!-----------Content--------->
<!-----------Footer--------->
<div> Tab1 content</div>
<div> Tab2 content </div>

它不起作用。有没有想过使用节点js附加ejs模板?

ejs不会这样解析。按照代码当前的方式,您正在将templatename设置为“/templates/Tab1.ejs”或“/templates/Tab2.ejs”的字符串值,它不会读取您指定的.ejs文件的内容

更简单的方法是加载两个选项卡,并在默认情况下隐藏其中一个或两个选项卡,然后根据标签单击显示所需的选项卡

以下是一些可供选择的代码:

// Hide the tabs
$('#idoftab1, #idoftab2).hide();

$('.filter-suggestions label').on('click', function() {
    //get the tab attribute type
    var type = $(this).attr(tab);

    if(type == tab1){
        $('#idoftab1').show();
    } else {
       $('#idoftab2').show();
    }
});

如果您正在寻找一种更具编程性的方法,通过客户端模板来实现这一点,那么您可以考虑使用AngularJS或甚至类似的库,但实际上,对于您想要实现的目标来说,这种更改可能过于苛刻。

将它们包含在索引中,并使用js显示/隐藏。
// Hide the tabs
$('#idoftab1, #idoftab2).hide();

$('.filter-suggestions label').on('click', function() {
    //get the tab attribute type
    var type = $(this).attr(tab);

    if(type == tab1){
        $('#idoftab1').show();
    } else {
       $('#idoftab2').show();
    }
});