簡體   English   中英

使用把手將對象數組傳遞給expressjs中的局部視圖而不是工作

[英]Passing over array of object to partial view in expressjs using handlebars not wokring

這是我第一次使用 JS 框架,我試圖使用把手視圖引擎將對象數組傳遞給局部視圖,但頁面上沒有顯示任何內容。 我在其他頁面上用不同的數組做了同樣的事情並且它有效,但似乎不適用於這個特定的數據,我不知道為什么。 請幫忙。

app.post('/building-works', (req, res) => {
    let theProjects = shared.projects;
    let dataObject = {};
    let theArray = [];
    const search = req.body.searchWork;
    for(let projects of theProjects){
        if((search === projects.state)){
            dataObject.state = projects.state;
            dataObject.lga = projects.lga;
            for(let localG of projects.lga){
                dataObject.lga = projects.lga;
                dataObject.communties = localG.communities;
                theArray.push(dataObject);
            }
        }
        for(let lga of projects.lga){
            if(search === lga.lgaName){
                dataObject.state = projects.state;
                dataObject.lga = lga.lgaName;
                dataObject.communities = lga.communities;
                theArray.push(dataObject);
            }
            for(let communities of lga.communities){
                if(search === communities.community){
                    dataObject.state = projects.state;
                    dataObject.lga = lga.lgaName;
                    dataObject.community = communities.community;
                    dataObject.building = communities.projects.building;
                    dataObject.water = communities.projects.water;
                    theArray.push(dataObject);
                }
            }
            
        }
    }

    if(!res.locals.projects) res.locals.projects = {};
    res.locals.projects = theArray;
    console.log(theArray);
    res.render('building-works', {title: 'Building Works'});
});

這是部分文件

<div class="flex flex-col justify-center items-center">
    <h1 class="text-xl w-3/4 text-atasp-mid-red uppercase">Search Projects</h1>
    <form class="mx-auto flex flex-col w-full md:flex-row px-5 py-3 items-center justify-center" action="" method="post">
        <input type="text" name="searchWork" placeholder="search by state, LGA, community or project" class="bg-gray-200 w-3/4 outline-none p-2 rounded-t-md md:rounded-t-none md:rounded-l-md">
        <button type="submit" class="bg-atasp-light-green rounded-b-md w-3/4 md:w-auto text-white md:rounded-bl-none md:rounded-r-md  hover:bg-atasp-dark-green p-2">Search</button>
    </form>
</div>


{{#each theArray}}
    <div>
        <p>state</p>
        <p>lga</p>
        <p>community</p>
        <p>building</p>
    </div>
{{/each}}

在處理程序的 res.render 部分中,將 theArray 作為模板的數據對象的一部分傳遞


...
res.render('building-works', {title: 'Building Works', theArray});
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM