2016년 6월 27일 월요일

Meteor DDP 요점 정리


  1. 준비
    ddp 라이브러리 추가
    $ meteor add ddp
  2. 외부 DDP 연결
    extDDP = DDP.connect("http://externalhost.com:4100");
  3. Collection 연결
    Posts = new Mongo.Collection('posts', extDDP);
    2,3 과정은 client 에서 가장 먼저 실행되도록 client/lib 디렉토리 안에 넣는 것을 추천
  4. 기존 연결을 외부 DDP로 대치
    Meteor.connection = extDDP;
    ex) 활용예
    Meteor.connection = extDDP;
    Meteor.loginWithPassword(login.valiu, password.value);
    Meteor.startup 같은 곳에서 사용하면 좋음.
    만일 login을 그냥 사용하려면
    expDDP.call('login', .... ); 형태로 사용하여야함.
  5. Subscribe 사용
    onCreated 시점에 this.subscribe 대신 DDP 객체의 subscribe를 사용
    Template.postView.onCreated(function() {
      extDDP.subscribe("getPosts", { searchWord: 'blahblah' });
    });
  6. Helper 사용
    3번처럼 했다면 그냥 똑같이 사용
    Tempalte.postView.helpers({
      "posts": function() {
        return Posts.find({});
      }
    });
  7. Method 사용
    Template.postInput.events({
      "submit": function(e) {
        expDDP.call('addPost', inputText.value', function(error, result) {
         /* do something */
        });
        e.preventDefault();
      }
    });