Meteor에서 데이터 컨텍스트가 작동하는 방식을 더 잘 이해하기 위해이 문제를 해결할 수 없습니다. 아무데도 명확한 대답을 찾지 못했습니다. 내가 #each
를 사용하여 다음 템플릿 템플릿 내의 유성 데이터 컨텍스트
<template name="list">
{{#each listItem}}
{{> listItemDetail}}
{{/each}}
</template>
<template name="listItemDetail">
<p>{{_id}} {{title}}</p>
<p>{{idViaHelper}}</p>
</template>
그리고 내 자바 스크립트에서
나는 유성가는 내 데이터 컨텍스트에 대한 이해로 지금까지Template.list.helpers({
'listItem':() => {
return List.find().fetch();
})
Template.listItemDetail.helpers({
'idViaHelper':() => {
return this._id
})
을 가지고는 listItemDetail
템플릿의 각 인스턴스에 대한 컨텍스트를 설정 listItem
도우미에서 반환되는 문서 여야합니다.
listItemDetail
템플릿에서 {{_id}}
을 사용하여 문서의 ID를 표시 할 때 예상대로 작동합니다.
을 도우미 {{idViaHelper}}
(this._id
)을 사용하여 얻으려고하면 undefined
이됩니다. console.log(this)
을 시도하면 this
이 Window 개체를 나타내는 것입니다. 그러나 나는 이유를 모른다. 무슨 일이 벌어지고 왜 데이터 컨텍스트가 템플릿 도우미에서 선택되지 않습니까?
이것은 내 첫 번째 게시물입니다. 감사합니다.
감사합니다 줄리앙. 나는 화살 함수가 ES2015에서 구문 적으로 변화 한 것이라고 생각했다. (그리고 함수를 선언하는 예전의 방식은 더 이상 사용되지 않을 것이다.) 기술적 인 차이점과 두 가지 모두에 대한 사용이 있을지도 모르겠다. – TL77