2013-04-07 3 views
0

Meteor가 추종에 적합 할 것인지, 코드 작성 방법에 대해 궁금합니다.유성 - 웹 페이지의 실시간 코드 업데이트?

나는 특정 "DIV"의 코드에 의해 현재 해당 페이지를 보는 사용자에게 즉시 hotswapped 할 수있는 웹 페이지를 생성하고 싶습니다. 예를 들어 div에는 텍스트가 포함되어 있지만 이미지가 대체됩니다. 이상적으로는 웹 페이지의 관리자가 단추를 클릭하거나 서버에서 실행 된 일부 코드를 통해 수동으로 스왑을 실행합니다. 웹 페이지의 일반 시청자는이를 수행 할 수 없으며 페이지의 실시간 변경 사항 만 볼 수 있습니다. 실제 예를

:

라이브 인터넷 방송이 떨어져 공기이다는 그러므로 "DIV"는 "오프 공기"텍스트가 포함되어 있습니다. 방송의 무선 핫 스왑 (hotswap)은 방송이 진행되는 중에 발생하며, 웹 페이지의 시청자는 이제 "div"의 html5 방송 플레이어를 보게됩니다. 나중에 브로드 캐스트가 해제되면 다시 스와핑됩니다.

나는 Meteor 플랫폼에 완전히 익숙하지 않기 때문에 자신을 초보자로 생각합니다. 어떤 도움을 주시면 감사하겠습니다.

답변

0

당신은 (내가 원시 HTML로 예를 사용하는거야하지만 당신은 대신에 표시하는 것을 내용으로 자신의 기능을 구현하는 더 나을 수도 콜렉션의 데이터를 사용하여 반응성 사업부를 사용하여 더 좋을 수 있습니다

를 즉

는 기본적으로 핫 코드 스왑

클라이언트 측 HTML 코드

<template name="home"> 
    <div> 
     {{{content}}} 
    </div> 
</template> 

JS를 통해 reactivity을 활용 코드

if(Meteor.isClient) { 
    MyCollection = new Meteor.Collection("MyCollection") 

    Template.home.content = function() { 
     if(MyCollection.findOne()) {   
      return MyCollection.findOne().content 
     } 
    } 
} 

if(Meteor.isServer) { 
    MyCollection = new Meteor.Collection("MyCollection") 

    //Set an initial content if there is nothing in the database 
    Meteor.startup(function() { 
     if(!MyCollection.findOne()) { 
      MyCollection.insert({content:"<h1>Test content</h1><p>Test Data</p>" 
     } 
    } 

    //A method to update the content when you want to 
    Meteor.methods({ 
     'updatecontent':function(newcontent) { 
      id = MyCollection.findOne()._id 
      MyCollection.update(id, {$set:{content:newcontent}}); 
      return "Done" 
     } 
} 
당신은 어느 몽고 수집 또는 (웹 콘솔, 클라이언트 측 또는 서버 측 자바 스크립트) 같은 것을 사용하여 컨텐츠를 업데이트 할 수 있습니다

는 :

Meteor.call("updatecontent","New content",function(err,result) { 
    if(!err) { 
     console.log(result) 
    } 
}); 

코드가 실시간으로 업데이트됩니다 어떤 당신이 그것을 사용할 때.

나는 꽤 오래입니다하지만 그것의 대부분은 HTML/업데이트 설정되어 죄송합니다. 실제로 사용자의 페이지를 새로 고침하는 핫 코드 스왑보다 훨씬 좋음

관련 문제