簡體   English   中英

流星-反應性更新未渲染的數據

[英]Meteor - Reactively Updating Non-Rendered Data

我是Meteor的新手,我想弄清楚它的反應模型是否可以靈活地用於我想做的事情。 我正在制作的應用程序是學習輔助工具,基本上可以反復測驗用戶並跟蹤每個問題的分數。 這些問題是Mongo集合,我希望客戶端在用戶回答問題時(即,問題的“得分”屬性發生更改時)更新數據庫。 但是,我沒有渲染分數。

更糟的是,我正在提出問題,但我沒有將其作為模板屬性來執行-我將來自一個調用JS函數的模板屬性的模板內容拼湊在一起。

Template.bottomText.explainText = function(){
        var page=getPage();
        switch(page){
            case "main":        
                return "Foo text "+question.query+"?";
            case "correct":
                return "You got the question right!  Score "+question.score;
        }
    };

我的應用程序不是我所見過的典型的一屏流星程序。 它具有屏幕上各個框的基本模板部分,但是這些框的內容是用JS構建的,以包含各個視圖。 因此,每個單獨的視圖都沒有自己的模板標簽,因此屏幕上的問題和分數是JS的產物,而不是直接進行模板化。 我試圖讓JS調用模板來刺激反應性,但是我似乎無法渲染它們。 從JS返回JS中指定的模板的輸出時,它以文字形式返回,而不是通過模板引擎運行。 因此,沒有模板作為模板屬性直接訪問這些問題-呈現它們的視圖是在JS中動態拼湊而成的一個模板屬性。

所以...我還能在這些問題對象上反應嗎? 如果是這樣,怎么辦?

首先,您可能想看一下車把幫手{{#isolate}} ,這將使您可以控制每個反應式更新呈現哪些模板元素。

但是總的來說,這聽起來像是使您的應用程序變得比所需的要復雜一些。 請瀏覽docs.meteor.com以獲取想法和幫助,以了解如何“思考”構建響應式應用程序。

目前尚不清楚您要從問題中解決的問題或問題所在。 您是否擔心屏幕的部分重新渲染? 還是在允許用戶查看分數之前是否向用戶隱藏分數?

如果是這種情況,那么您可能希望使用發布/訂閱模型 確定將要查看數據時,您將讓客戶端訂閱所需的數據; 使用流星會話變量最容易完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM