이 data.journeyDetail = detail과 같은 데이터 변수에 json 객체 배열을 설정하고 있습니다. marko 파일에서 javascript 블록 내에서 액세스해야하며 각 레코드에 대해 객체에서 FullName을 인쇄해야합니다. 어떻게해야합니까?
서버 측 코드 :
data.journeyDetail = detail;
data.author = "najam";
this.body = marko.load("./views/journeyDetail.marko").stream(data);
marko 파일 (클라이언트 측)
<script>
console.log("author=$data.journeyDetail.length");
var length = $data.journeyDetail.length;
var recs = $data.journeyDetail;
console.log("len=", length);
console.log("array=", array);
for(var i=0; length; i++){
console.log("counter=", recs[i].origin);
}
</script>
[개체 개체], [개체 개체], [개체 개체], [개체 개체], [개체 개체], [개체 개체], [개체 개체], [개체 개체], [개체 개체], [개체 개체], [객체 객체], [객체 객체]; console.log ( "len =", 길이);
을 사용하여 템플릿 데이터를 페이지 에 직렬화 할 수 JSON.stringify(...)
있습니다. 이렇게하면 script
템플릿이 렌더링 될 때 처음 사용할 수 있었던 데이터에 액세스 할 수 있습니다. 에서 data.journeyDetail
오류가 발생하므로 데이터에 순환 참조가있을 수 없습니다 JSON.stringify(...)
. Array
map
스크립트 코드가 실행될 때 모든 정보가 필요하지 않은 경우 함수 를 사용 하여 배열의 데이터를 변환 할 수 있습니다.
다음을 사용하고 싶을 것입니다.
<script>
console.log("author=$data.journeyDetail.length");
var length = $data.journeyDetail.length;
var recs = ${JSON.stringify(data.journeyDetail)};
console.log("len=", length);
console.log("array=", array);
for(var i=0; length; i++){
console.log("counter=", recs[i].origin);
}
</script>
유일한 변경 사항은 다음과 같습니다.
var recs = ${JSON.stringify(data.journeyDetail)};
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다