ExpressJS:使用Javascript将Include注入Jade

ExpressJS:使用Javascript将Include注入Jade,express,pug,Express,Pug,假设我有如下文件 包括/人 .person .name= name .desc= desc 现在,我想在我的页面上有一个按钮,当单击该按钮时,会将上一个按钮注入到文档中。我想要这个,因为我需要向页面添加人员。我该怎么做呢 在这种情况下,我应该只使用HTML文件吗?Jade在服务器端渲染。所以您应该使用ajax调用方法,该方法将返回呈现的html。另一个选项是使用JavaScript执行此操作: function addPerson(name, desc, parentId){

假设我有如下文件

包括/人

.person
  .name= name
  .desc= desc
现在,我想在我的页面上有一个按钮,当单击该按钮时,会将上一个按钮注入到文档中。我想要这个,因为我需要向页面添加人员。我该怎么做呢


在这种情况下,我应该只使用HTML文件吗?

Jade在服务器端渲染。所以您应该使用ajax调用方法,该方法将返回呈现的html。另一个选项是使用JavaScript执行此操作:

function addPerson(name, desc, parentId){
    var container = document.createElement('div');
    container.className = 'person';
    var nameContainer = document.createElement('div');
    nameContainer.className = 'name';
    nameContainer.innerHTML = name;
    container.appendChild(nameContainer);
    var descContainer = document.createElement('div');
    descContainer.className = 'desc';
    descContainer.innerHTML = desc;
    container.appendChild(descContainer);
    var parent = document.getElementById(parentId);
    parent.appendChild(container);
}
杰德:


Jade在服务器端渲染。所以您应该使用ajax调用方法,该方法将返回呈现的html。另一个选项是使用JavaScript执行此操作:

function addPerson(name, desc, parentId){
    var container = document.createElement('div');
    container.className = 'person';
    var nameContainer = document.createElement('div');
    nameContainer.className = 'name';
    nameContainer.innerHTML = name;
    container.appendChild(nameContainer);
    var descContainer = document.createElement('div');
    descContainer.className = 'desc';
    descContainer.innerHTML = desc;
    container.appendChild(descContainer);
    var parent = document.getElementById(parentId);
    parent.appendChild(container);
}
杰德:


与上一个例子类似,我使用express在其自己的url中为输入的人托管Jade HTML,如下所示

self.app.get('/person/:name/:desc',adddoc.person2);
当然,person2实现只是玉石的渲染

.person
  mixin personField(desc,name,valuefname,valuelname)
然后在我的Javascript中(使用JQuery)


与上一个例子类似,我使用express在其自己的url中为输入的人托管Jade HTML,如下所示

self.app.get('/person/:name/:desc',adddoc.person2);
当然,person2实现只是玉石的渲染

.person
  mixin personField(desc,name,valuefname,valuelname)
然后在我的Javascript中(使用JQuery)


我喜欢你最初的想法(对呈现的html进行服务器调用),我会尝试一下。第二个,我可能只是生成一个html文件并使用它,而不是使用JS添加indv。divs.@Jackie你说得对,当使用JS:)我喜欢你最初的想法(对呈现的html的服务器调用),我会尝试一下。第二个,我可能只是生成一个html文件并使用它,而不是使用JS添加indv。divs.@Jackie你是对的,当使用JS:)时,它变得相当大了