2017-11-03 19 views
0

'categories'함수에서 배열의 요소 대신 [object, object]를 가져옵니다. 확신 할 수는 없겠지만 아마도 이것은 예상되는 것이며 아마도 잘못 이해하고 있습니다.Meteor에서 이벤트를 사용하여 배열에서 요소 가져 오기

if (Meteor.isClient) { 

    Template.ipsosboard.helpers({ 
     'categories': function() { 
     return array; // Some data stored as JS Object in lib. 
    }, 
     'currentElement': function() { 
      return Session.get('selectedEvent'); 
     } 
    }); 

    Template.ipsosboard.events({ 
     "change #category-select": function(event, template) { 
      var selectedEvent = $(event.currentTarget).val(); 
      Session.set('selectedEvent', selectedEvent); 
      console.log("EventNum: " + selectedEvent); 
     } 
    }); 

}; //end of client code. 

if (Meteor.isServer) { 
    //code to run by server here. 
}; 
+0

vanillajs로 값을 얻으려고 했습니까? 즉. 'event.currentTarget.value'? 이것은 jquery에 대해 이상한 냄새가 난다. –

+0

나는 그것을 잘못 알았다. 파일이 내가 얻으려는 데이터가 들어있는 JS 객체 였기 때문에 일반적으로 객체를 반환하고있었습니다. 아래 답변을 참조하십시오. – KonVas

답변

1

이 문제가 해결 된 것 같습니다. 객체를 배열로 변환해야했습니다. 참고 : '데이터'프로젝트의 lib 폴더에 JS 개체로 저장된 json 파일이므로 변환해야했습니다.

if (Meteor.isClient) { 

    Template.ipsosboard.helpers({ 
     'categories': function() { 

그것은 아래의 함수를 사용하여 배열로 변환 할 필요가 있었다. 필요에 따라

 var myObj = data; 
     var array = $.map(myObj, function(value, index) { 
      return value; 
     }); 
     return array; 
    }, 

그래서 지금은 데이터를 반환합니다.

 'currentElement': function() { 
      return Session.get('selectedEvent'); 
     } 
    }); 

    Template.ipsosboard.events({ 
     "change #category-select": function(event, template) { 
      var selectedEvent = $(event.currentTarget).val(); 
      Session.set('selectedEvent', selectedEvent); 
      console.log("EventNum: " + selectedEvent); 
     } 
    }); 

}; //end of client code. 

if (Meteor.isServer) { 
    //code to run by server here. 
};