2

私はsage cellを使ってhtmlを数学のものに変換しています

Template.home.rendered = function(){
  \\ apply sagecell and mathjax
}

ただし、レンダリングされるコンテンツは mongo から取得されるため、sage セルが適用された後に読み込まれることがあります。私はこのようなことができます

Template.home.rendered = function(){
  Deps.autorun(function(){
    if (Content.findOne({_id: ...})){
      \\ apply sagecell and mathjax
    }
  });
}

それはより良いですが、それでも常に機能するとは限りません。コンテンツが完全にレンダリングされたことを検出するために使用できる他のものはありますか?

4

2 に答える 2

1

新しい応答で編集:

<template name='pendingAnswer'>
    The answer to your question, coming back whenever, is:
    {{>answer}}
</template>

<template name='answer'>
    {{fromSage}}
</template>     

Template.answer.helpers({ 
    fromSage: function () {  
        Session.get('fromSage');
    }
});

Invoked whenever - from a button, from navigating to the page, on blur...        
function GetAnswerFromSage(data) {
        callHTTP(website,data, callbackFromSage)
}        

function callbackFromSage(err, data) {
        if (err) then log(err);
        Session.set('fromSage', data);
        }

以前: mongo の取得時に変換を試行: From Meteor Doc

// An Animal class that takes a document in its constructor
Animal = function (doc) {
  _.extend(this, doc);
};
_.extend(Animal.prototype, {
  makeNoise: function () {
    console.log(this.sound);
  }
});

// Define a Collection that uses Animal as its document
Animals = new Meteor.Collection("Animals", {
  transform: function (doc) { return new Animal(doc); }
});

// Create an Animal and call its makeNoise method
Animals.insert({name: "raptor", sound: "roar"});
Animals.findOne({name: "raptor"}).makeNoise(); // prints "roar"
于 2013-08-29T19:49:59.867 に答える