我是 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;
}
};
我的应用程序不是我见过的典型的单屏 Meteor 程序。它具有屏幕上各种框的基本模板部分,但这些框的内容是在 JS 中构建的以包含各个视图。因此,每个单独的视图都没有自己的模板标签,因此屏幕上的问题和分数是JS的产物,而不是直接模板。我试图让 JS 调用一个模板来刺激反应,但我似乎无法让那些渲染。当 JS 中指定的模板的输出从 JS 返回时,它作为文字返回,而不是通过模板引擎运行。因此,没有模板直接将这些问题作为模板属性访问 - 呈现它们的视图是一个在 JS 中动态拼凑的模板属性。
那么……我还能对这些问题对象产生反应吗?如果是这样,怎么做?