2014-03-29 2 views
3

이 업데이트와 새로운 템플릿 엔진 Blaze에 대한 소개로, 템플릿 렌더링 콜백과 관련된 몇 가지 문제가 있습니다.Meteor 0.8.0의 템플릿에서 렌더링 된 콜백

template.my_template.rendered의 줄에있는 사람은 더 이상 나를 위해 작동하지 않는 것 같습니다. 내가 (this._id) 로그를 남기려 할 때 정의되지 않은 내용을 주었고 실제로 그 안에 내용이 전혀 들어 있지 않습니다.

소개에서 블레 이드 Meteor.render이 삭제되었습니다. 이들 중 두 가지는 공통점이 있습니까? 변경된 경우 업데이트 된 구문은 무엇입니까?

답변

0

템플릿 렌더링 콜백에 this._id을 사용하는 경우 지금은 this.data._id을 사용해보세요. 나는 왜 this._id이 렌더링 콜백에서 전에 당신을 위해 일했는지 약간 확신 할 수 없습니다.

도우미가 렌더링 된 콜백이 아니라면 this._id으로 남아 있지만 템플릿이 다른 템플릿에 있는지 여부에 따라 일부 규칙이 변경되었습니다.

화재 용 템플릿을 구성하는 데 도움이되는 migration guide이 있습니다. 여기에 게시 할 수도 있지만 제공 한 세부 정보가 있으면 실제 문제가 무엇인지 판단하기에 충분한 정보가 없습니다.

Meteor.render은 더 이상 사용되지 않습니다. 새로운 UI가 있습니다. 비슷한 것을 할 수있는 렌더링 네임 스페이스 (http://docs.meteor.com/#ui). 그것은 당신이하고 싶은 것에 달려 있지만, UI.insertWithData는 비슷한 것을 할 수 있습니다.

는 Meteor.render에 마이그레이션 문서를 참조하십시오 : 렌더링 된 콜백을 읽는 것은 Meteor.render이 무엇인지 다른 https://github.com/meteor/meteor/wiki/Using-Blaze#meteorrender-has-been-removed

+0

후. 문제는 렌더링 된 콜백이 한 번만 호출된다는 것입니다. – user1952811

+0

@ user1952811 예 렌더링 된 콜백은 한 번만 발생합니다. 이것은 Blaze가 DOM 패치로 작동하기 때문입니다. 그것은 한 번 이상 발사해서는 안됩니다. DOM이 변경되면 렌더링 된 콜백이 Jquery 구성 요소를 다시 초기화해야 할 때 Spark와 같은 기능을 수행하지 않아야합니다. – Akshat

+0

이제 자동으로 자동으로 업데이트해야합니까? 나는 대답이없는 다른 질문을 본다 – user1952811

관련 문제