나는 nodeJS, express, MongoDB 및 Handlebars를 사용하여 간단한 웹 응용 프로그램을 개발하고 있습니다. 서버 측 내가 표현 - 핸들 사용 : 제가 DB를 조회 할 때 한 페이지에 클라이언트에 결과를 보여주고 싶은, 그래서노드 JS 정렬 배열 Handlebars 템플릿 클라이언트 쪽 전달 된
var exphbs = require('express-handlebars');
// View Engine
app.set('views', path.join(__dirname, 'views'));
app.engine('handlebars', exphbs(
{
defaultLayout:'layout',
helpers: { /*my helpers*/}}));
을 : /* 일부 코드 */ router.get ('/ '기능 (REQ, 고해상도) {결과를 표시
/*query to mongo DB with mongoose*/
Coll.find(queryParams, function(err,coll){
if(err) {
console.log(err);
throw err;
}
else {
res.render('index', {'coll': coll});
}
});
가 핸들과 매우 간단합니다 :
{{#each coll}}
{{this}}
{{/each}}
하지만 woul 질의 결과가 같고 순서 만 변경된다는 가정하에 사용자가 서버와 다시 상호 작용하지 않고이 배열을 정렬 할 수있게하고 싶다. HTML 코드는 다음과 같습니다
<select id=id>
<option>sort1</option>
<option>sort2</option>
</select>
{{#each list}}
{{this}}
{{/this}}
<script>
$(document).ready(function() {
$('#id').change(function(){
//DO SOME STUFF WITH LIST
});
</script>
는 클라이언트 측 res.render (...)를 통해 전달 된 배열을 정렬하는 방법을 존재 하는가? 사용자가 select 태그에서 옵션을 선택하면 AJAX를 사용하여 목록을 수정할 수 있습니까? 그리고 어떻게? (항상 서버와 상호 작용하지 않고 mongoDB에서 같은 쿼리를 다시 실행하지 않아도 됨)
추신 : 저는 nodeJS와 Handlebars로 초보자입니다.