SlideShare a Scribd company logo
Meteor Korea DEV School 2nd day 
Template
발표자 소개 
- 박승현 
- ppillip@gmail.com 
- http://digveloper.ppillip.com
템플릿(Template) 
Handlebars , Spacebars , Spark 그리고 Blaze 
미티어 초기에 버전에 Handlebar를 사용하기 시작, 이후에는 자체 
적으로 개발한 템플릿 문법인 Spacebars 로 발전 하였습니다. 추 
후에 Spark 템플릿 엔진으로 통합되었다가 현재는 Blaze 란 이름 
으로 뷰엔진이 릴리즈 되었습니다. 
이제는 1.0으로 출시 되었으니 안심?하세요 :)
템플릿(Template) 
1. 템플릿으로 뷰 정의하기 
2. helper 사용하기 
3. 이벤트 처리하기 
4. rendered 이해하기
템플릿(Template) – 1. 템플릿으로 뷰 정의하기 
1. 기본 폴더 및 파일을 만들어 봅니다. 
- client , public , server 폴더를 생성합니다.
템플릿(Template) – 1. 템플릿으로 뷰 정의하기 
1. 기본 폴더 및 파일을 만들어 봅니다. 
- client , public , server 폴더를 생성합니다. 
- ourQuiz.html : 기본이 되는 화면 입니다. 
- userList.html : user 목록 템플릿입니다. 
- userList.js : 템플릿에 필요한 js 입니다.
템플릿(Template) – 1. 템플릿으로 뷰 정의하기 
2. 템플릿을 뷰에 포함시키기 {{>templateName}} 
ourQuiz.html 
userList.html 
userList.js
템플릿(Template) – 1. 템플릿으로 뷰 정의하기 
3. 템플릿의 manager – helpers , events , rendered 
ourQuiz.html 
userList.html 
userList.js
템플릿(Template) – 2. helper 사용하기 
1. 상수값 형태의 사용 
userList.html userList.js
템플릿(Template) – 2. helper 사용하기 
1. 상수값 형태의 사용 
userList.html userList.js
템플릿(Template) – 2. helper 사용하기 
2. list 표현하기 {{#each ..}}{{/each}} 
userList.html userList.js
템플릿(Template) – 2. helper 사용하기 
2. list 표현하기 {{#each ..}}{{/each}} 
userList.html userList.js
템플릿(Template) – 2. helper 사용하기 
2. list 표현하기 {{#each ..}}{{/each}} 
아.. sort 하고싶어! 
userList.html userList.js
템플릿(Template) – 2. helper 사용하기 
2. list 표현하기 {{#each ..}}{{/each}} 
userList.html userList.js
템플릿(Template) – 2. helper 사용하기 
2. list 표현하기 {{#each ..}}{{/each}} 
멀로 sort 했어?!? 
- underscore : “_” 약자로 쓰임 
- 미티어 클라이언트 기본 패키지 
- json 자료구조를 쉽게 다루게 해줌 
- 미티어 코어 소스에도 많이 쓰임 
- 비가오나 눈이 오나 화장실에서도 
항상 외워야할 메소드들이 많아요!! 
userList.html userList.js
템플릿(Template) 
1. 템플릿으로 뷰 정의하기 
2. helper 사용하기 
3. 이벤트 처리하기 
4. rendered 이해하기
템플릿(Template) – 3. event 처리하기 
그전에.. 싱거운 UI 를 좀 그럴사 하게.... 
1. atmospherejs.com 은 미티어의 
패키지가 모여 있는곳입니다. 
2. 트위터 부트스트랩3를 검색 합니다. 
3. 그래프가 신뢰도를 말해줍니다. :)
템플릿(Template) – 3. event 처리하기 
그전에.. 싱거운 UI 를 좀 그럴사 하게.... 
1. 프로젝트 폴더로 이동합니다. 
2. 패키지를 설치 합니다. 
3. 이제 사용할수 있습니다. 
재시작 할필요 없어요 :)
템플릿(Template) – 3. event 처리하기 
1. 실제 처리 대상인 템플릿으로 쪼개봅니다. 
1. each구문안에 userListItem을 넣습니다. 
2. tr 테그를 모듈로 하는 템플릿 
userListItem 코드를 작성합니다. 
3.이제userListItem 만 집중합니다.
템플릿(Template) – 3. event 처리하기 
1. 실제 처리 대상인 템플릿으로 쪼개봅니다. 
1. each구문안에 userListItem을 넣습니다. 
2. tr 테그를 모듈로 하는 템플릿 
userListItem 코드를 작성합니다. 
3.이제userListItem 만 집중합니다.
템플릿(Template) – 3. event 처리하기 
1. 실제 처리 대상인 템플릿으로 쪼개봅니다. 
1. tr 하나가 각각의 userItem으로 표현됩니다. 
2. 추후 오브젝트 검색은 템플릿 안에서만 
이루어집니다. Id 값은 되도록 쓰지 않습니다. 
3. name 으로 템플릿 내에서 unique 하게 
쓰는것을 권장합니다.
템플릿(Template) – 3. event 처리하기 
2. Template.userListItem.events 인자인 json 에 이벤트 핸들러함수를 넣습니다. 
버튼에 이벤트 object 를 정의 합니다. 
'click button' 를 key 로 하는 object 로 정의. 
tr 안에 있는 button 을 클릭 했을경우 코드를 
작성해 봅니다.
템플릿(Template) – 3. event 처리하기 
2. Template.userListItem.events 인자인 json 에 이벤트 핸들러함수를 넣습니다. 
앞의 'click' 은 html object 의 이벤트 입니다. 
keydown keyup 외 
다른 이벤트도 사용 가능합니다.
템플릿(Template) – 3. event 처리하기 
2. Template.userListItem.events 인자인 json 에 이벤트 핸들러함수를 넣습니다. 
앞의 'click' 은 html object 의 이벤트 입니다. 
keydown keyup 외 
다른 이벤트도 사용 가능합니다. 
뒷쪽의 button 은 셀렉터 입니다. 
Jquery 셀렉터에 해당하는 문법을 사용할수 있습니다.
템플릿(Template) – 3. event 처리하기 
3. template 안에서 this 
template 과 evets 오브젝트 안에서의 this 는 
{no:1,name:"김완선",email:"kws@gmail.com"} 
데이터가 됩니다.
템플릿(Template) – 3. event 처리하기 
4. evt , tmpl 파라메터 분석 
- 이벤트가 일어난 대상이 
첫번째 파라메터가 됩니다. 
- Jquery evetn object 이므로 
$(evt.target) 을 사용하여 
객체를 핸들링 할수 있습니다.
템플릿(Template) – 3. event 처리하기 
4. evt , tmpl 파라메터 분석 
- 현재 template이 
두번째 파라메터가 됩니다. 
- findAll 메소드로 html 오브젝트를 조회 합니다. 
** 다양한 메소드와 프로퍼티를 제공 
(http://docs.meteor.com/#/full/template_inst)
템플릿(Template) 
1. 템플릿으로 뷰 정의하기 
2. helper 사용하기 
3. 이벤트 처리하기 
4. rendered 이해하기
템플릿(Template) – 3. rendered 이해하기 
1. Template.템플릿명.rendered 
템플릿이 돔에 랜더링 되는 최초의 순간에 호출됩니다. 
단 1번만 호출됩니다. 
2. Template.템플릿명.created 
템플릿의 인스턴스가 생성되는 최초 한번에 호출됩니다. 
3. Template.템플릿명.destroyed 
템플릿이 어떤 이유에서든 삭제 될때 호출최는 콜백 함수입니다. 
다시랜더링 될때는 호출되지 않습니다. 
** 미티어는 변경부분만 랜더링 합니다.
- 질 문 
- 실 습

More Related Content

PDF
1. 미티어의 폴더구조
PDF
4. publish / subscribe
PDF
5.router
PDF
Meteor Korea DEV School 1st day
PDF
3. collection
PPTX
Unity cookbook 20
PDF
6.accounts
PDF
막하는스터디 두번째만남 Express(20151025)
1. 미티어의 폴더구조
4. publish / subscribe
5.router
Meteor Korea DEV School 1st day
3. collection
Unity cookbook 20
6.accounts
막하는스터디 두번째만남 Express(20151025)

What's hot (20)

PPTX
Nest js 101
PDF
막하는 스터디 첫 번째 만남 Node.js
PPTX
스프링 3.0 RESTful & restTemplate
PDF
Python module
PDF
Fiddler 피들러에 대해 알아보자
PPTX
피들러 신명대
PDF
[나만의블로그개발하기] 03 글쓰고 읽기, 리스트 보기
PPTX
Docspin 에셋에 대해
PPTX
Json view 예제 설명
PDF
Github pages - 1분만에 개인 홈페이지 배포하기
PDF
Jekyll and GitHub Pages
PDF
[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼
PPT
안드로이드스터디 1
PDF
막하는 스터디 네 번째 만남 AngularJs (20151108)
PDF
Ror 4주차(루비맛보기, form 태그)
PDF
Ror 2주차(컨트롤러 생성)
PPTX
2. xamarin.android 2.3 hello android multi screen example part2
PPTX
Servlet Architecture
PPTX
Nodejs, PhantomJS, casperJs, YSlow, expressjs
PDF
Gnuboard to Django Series #01
Nest js 101
막하는 스터디 첫 번째 만남 Node.js
스프링 3.0 RESTful & restTemplate
Python module
Fiddler 피들러에 대해 알아보자
피들러 신명대
[나만의블로그개발하기] 03 글쓰고 읽기, 리스트 보기
Docspin 에셋에 대해
Json view 예제 설명
Github pages - 1분만에 개인 홈페이지 배포하기
Jekyll and GitHub Pages
[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼
안드로이드스터디 1
막하는 스터디 네 번째 만남 AngularJs (20151108)
Ror 4주차(루비맛보기, form 태그)
Ror 2주차(컨트롤러 생성)
2. xamarin.android 2.3 hello android multi screen example part2
Servlet Architecture
Nodejs, PhantomJS, casperJs, YSlow, expressjs
Gnuboard to Django Series #01
Ad

Similar to 2. template (20)

PDF
Meteor2015 codelab
PPTX
플라스크 템플릿
PDF
Handlebars
PDF
Modern web application with meteor
PDF
[DevOn 2013] Backbone.js로 능동적 M-V 디자인 구현하기
PDF
JavaSript Template Engine
PDF
Portfolio
PDF
응답하라 반응형웹 - 4. angular
PPTX
Undefined 2월발표 backbonejs
PDF
ReactJS | 서버와 클라이어트에서 동시에 사용하는
KEY
Meteor 0.3.6 Preview
PPTX
Flux 예제 분석 2
KEY
20120803 html5 js_4th_agenda
PPTX
RequireJS를 이용한 모듈관리.
PDF
웹동네 JSJQ 실무기초 스터디 1주차-제이쿼리기초1
PPT
Meteor를 통해서 개발하는 웹어플리케이션 서비스
PPTX
파이썬 플라스크 이해하기
PPTX
Node.js and react
PPTX
[하코사세미나] 한 시간 만에 배우는 Jquery
PDF
jQuery angular, React.js 로 댓글달아보기 공부했던 기록
Meteor2015 codelab
플라스크 템플릿
Handlebars
Modern web application with meteor
[DevOn 2013] Backbone.js로 능동적 M-V 디자인 구현하기
JavaSript Template Engine
Portfolio
응답하라 반응형웹 - 4. angular
Undefined 2월발표 backbonejs
ReactJS | 서버와 클라이어트에서 동시에 사용하는
Meteor 0.3.6 Preview
Flux 예제 분석 2
20120803 html5 js_4th_agenda
RequireJS를 이용한 모듈관리.
웹동네 JSJQ 실무기초 스터디 1주차-제이쿼리기초1
Meteor를 통해서 개발하는 웹어플리케이션 서비스
파이썬 플라스크 이해하기
Node.js and react
[하코사세미나] 한 시간 만에 배우는 Jquery
jQuery angular, React.js 로 댓글달아보기 공부했던 기록
Ad

2. template

  • 1. Meteor Korea DEV School 2nd day Template
  • 2. 발표자 소개 - 박승현 - ppillip@gmail.com - http://digveloper.ppillip.com
  • 3. 템플릿(Template) Handlebars , Spacebars , Spark 그리고 Blaze 미티어 초기에 버전에 Handlebar를 사용하기 시작, 이후에는 자체 적으로 개발한 템플릿 문법인 Spacebars 로 발전 하였습니다. 추 후에 Spark 템플릿 엔진으로 통합되었다가 현재는 Blaze 란 이름 으로 뷰엔진이 릴리즈 되었습니다. 이제는 1.0으로 출시 되었으니 안심?하세요 :)
  • 4. 템플릿(Template) 1. 템플릿으로 뷰 정의하기 2. helper 사용하기 3. 이벤트 처리하기 4. rendered 이해하기
  • 5. 템플릿(Template) – 1. 템플릿으로 뷰 정의하기 1. 기본 폴더 및 파일을 만들어 봅니다. - client , public , server 폴더를 생성합니다.
  • 6. 템플릿(Template) – 1. 템플릿으로 뷰 정의하기 1. 기본 폴더 및 파일을 만들어 봅니다. - client , public , server 폴더를 생성합니다. - ourQuiz.html : 기본이 되는 화면 입니다. - userList.html : user 목록 템플릿입니다. - userList.js : 템플릿에 필요한 js 입니다.
  • 7. 템플릿(Template) – 1. 템플릿으로 뷰 정의하기 2. 템플릿을 뷰에 포함시키기 {{>templateName}} ourQuiz.html userList.html userList.js
  • 8. 템플릿(Template) – 1. 템플릿으로 뷰 정의하기 3. 템플릿의 manager – helpers , events , rendered ourQuiz.html userList.html userList.js
  • 9. 템플릿(Template) – 2. helper 사용하기 1. 상수값 형태의 사용 userList.html userList.js
  • 10. 템플릿(Template) – 2. helper 사용하기 1. 상수값 형태의 사용 userList.html userList.js
  • 11. 템플릿(Template) – 2. helper 사용하기 2. list 표현하기 {{#each ..}}{{/each}} userList.html userList.js
  • 12. 템플릿(Template) – 2. helper 사용하기 2. list 표현하기 {{#each ..}}{{/each}} userList.html userList.js
  • 13. 템플릿(Template) – 2. helper 사용하기 2. list 표현하기 {{#each ..}}{{/each}} 아.. sort 하고싶어! userList.html userList.js
  • 14. 템플릿(Template) – 2. helper 사용하기 2. list 표현하기 {{#each ..}}{{/each}} userList.html userList.js
  • 15. 템플릿(Template) – 2. helper 사용하기 2. list 표현하기 {{#each ..}}{{/each}} 멀로 sort 했어?!? - underscore : “_” 약자로 쓰임 - 미티어 클라이언트 기본 패키지 - json 자료구조를 쉽게 다루게 해줌 - 미티어 코어 소스에도 많이 쓰임 - 비가오나 눈이 오나 화장실에서도 항상 외워야할 메소드들이 많아요!! userList.html userList.js
  • 16. 템플릿(Template) 1. 템플릿으로 뷰 정의하기 2. helper 사용하기 3. 이벤트 처리하기 4. rendered 이해하기
  • 17. 템플릿(Template) – 3. event 처리하기 그전에.. 싱거운 UI 를 좀 그럴사 하게.... 1. atmospherejs.com 은 미티어의 패키지가 모여 있는곳입니다. 2. 트위터 부트스트랩3를 검색 합니다. 3. 그래프가 신뢰도를 말해줍니다. :)
  • 18. 템플릿(Template) – 3. event 처리하기 그전에.. 싱거운 UI 를 좀 그럴사 하게.... 1. 프로젝트 폴더로 이동합니다. 2. 패키지를 설치 합니다. 3. 이제 사용할수 있습니다. 재시작 할필요 없어요 :)
  • 19. 템플릿(Template) – 3. event 처리하기 1. 실제 처리 대상인 템플릿으로 쪼개봅니다. 1. each구문안에 userListItem을 넣습니다. 2. tr 테그를 모듈로 하는 템플릿 userListItem 코드를 작성합니다. 3.이제userListItem 만 집중합니다.
  • 20. 템플릿(Template) – 3. event 처리하기 1. 실제 처리 대상인 템플릿으로 쪼개봅니다. 1. each구문안에 userListItem을 넣습니다. 2. tr 테그를 모듈로 하는 템플릿 userListItem 코드를 작성합니다. 3.이제userListItem 만 집중합니다.
  • 21. 템플릿(Template) – 3. event 처리하기 1. 실제 처리 대상인 템플릿으로 쪼개봅니다. 1. tr 하나가 각각의 userItem으로 표현됩니다. 2. 추후 오브젝트 검색은 템플릿 안에서만 이루어집니다. Id 값은 되도록 쓰지 않습니다. 3. name 으로 템플릿 내에서 unique 하게 쓰는것을 권장합니다.
  • 22. 템플릿(Template) – 3. event 처리하기 2. Template.userListItem.events 인자인 json 에 이벤트 핸들러함수를 넣습니다. 버튼에 이벤트 object 를 정의 합니다. 'click button' 를 key 로 하는 object 로 정의. tr 안에 있는 button 을 클릭 했을경우 코드를 작성해 봅니다.
  • 23. 템플릿(Template) – 3. event 처리하기 2. Template.userListItem.events 인자인 json 에 이벤트 핸들러함수를 넣습니다. 앞의 'click' 은 html object 의 이벤트 입니다. keydown keyup 외 다른 이벤트도 사용 가능합니다.
  • 24. 템플릿(Template) – 3. event 처리하기 2. Template.userListItem.events 인자인 json 에 이벤트 핸들러함수를 넣습니다. 앞의 'click' 은 html object 의 이벤트 입니다. keydown keyup 외 다른 이벤트도 사용 가능합니다. 뒷쪽의 button 은 셀렉터 입니다. Jquery 셀렉터에 해당하는 문법을 사용할수 있습니다.
  • 25. 템플릿(Template) – 3. event 처리하기 3. template 안에서 this template 과 evets 오브젝트 안에서의 this 는 {no:1,name:"김완선",email:"kws@gmail.com"} 데이터가 됩니다.
  • 26. 템플릿(Template) – 3. event 처리하기 4. evt , tmpl 파라메터 분석 - 이벤트가 일어난 대상이 첫번째 파라메터가 됩니다. - Jquery evetn object 이므로 $(evt.target) 을 사용하여 객체를 핸들링 할수 있습니다.
  • 27. 템플릿(Template) – 3. event 처리하기 4. evt , tmpl 파라메터 분석 - 현재 template이 두번째 파라메터가 됩니다. - findAll 메소드로 html 오브젝트를 조회 합니다. ** 다양한 메소드와 프로퍼티를 제공 (http://docs.meteor.com/#/full/template_inst)
  • 28. 템플릿(Template) 1. 템플릿으로 뷰 정의하기 2. helper 사용하기 3. 이벤트 처리하기 4. rendered 이해하기
  • 29. 템플릿(Template) – 3. rendered 이해하기 1. Template.템플릿명.rendered 템플릿이 돔에 랜더링 되는 최초의 순간에 호출됩니다. 단 1번만 호출됩니다. 2. Template.템플릿명.created 템플릿의 인스턴스가 생성되는 최초 한번에 호출됩니다. 3. Template.템플릿명.destroyed 템플릿이 어떤 이유에서든 삭제 될때 호출최는 콜백 함수입니다. 다시랜더링 될때는 호출되지 않습니다. ** 미티어는 변경부분만 랜더링 합니다.
  • 30. - 질 문 - 실 습