2013-04-07 3 views
0

Мне любопытно узнать, подходит ли Метеор для следования и как я буду писать код.meteor - обновить код в реальном времени на веб-странице?

Я хотел бы создать веб-страницу, где по коду в определенном «div» можно «горячо» на лету пользователям, просматривающим эту страницу. (например, div содержит некоторый текст, но затем изображение заменяет его.) В идеале swap будет выполняться вручную администратором веб-страницы одним нажатием кнопки или некоторым кодом, запущенным на сервере или что-то в этом роде. Регулярные зрители на веб-странице не смогут этого сделать - они видят только живые изменения на странице.

реального пример:

в прямом эфире интернет-трансляция от воздуха, поэтому «ДИВ» содержит «внеэфирный» текст. живая горячая сводка кода происходит, когда трансляция идет в эфире, а зрители веб-страницы теперь видят передатчик html5 в «div». позже он меняет местами, как только трансляция идет в эфир.

Я совершенно новичок в платформе Meteor, поэтому считаю себя новичком :) Любая помощь приветствуется.

ответ

0

Вы могли бы лучше, используя реактивный DIV с использованием данных из коллекции (я буду использовать пример с сырой HTML, но вы могли бы быть лучше реализуют свои собственные функции с тем, что содержанием для отображения вместо: т.е.

в принципе воспользоваться reactivity над раскаленным кодом свопы

сторона клиент HTML код

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

Js Код

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" 
     } 
} 

Вы можете обновить содержание либо в коллекции Монго или что-то вроде (в вашем веб-консоли на стороне клиента или на стороне сервера JavaScript):

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

Что будет обновлять код в прямом эфире когда вы его используете.

Прошу прощения, это довольно долго, но основная его часть - установка/обновление html. Его на самом деле гораздо приятнее, чем обмен горячим кодом, который обновит страницу пользователя

Смежные вопросы