我仍然试图围绕Meteor的反应式编程模型,所以这可能是一个愚蠢的问题,但是:
我是否可以使用模板系统来提取数据,而不是"记录"它.也就是说,我有一个像这样的textarea
<textarea id="desc" rows="15" cols="80" > {{projectDescription}} </textarea>
Run Code Online (Sandbox Code Playgroud)
那么可以将projectDescription字段作为反应数据源访问吗?我没有在REPL的任何地方使用Template.project.projectDescription,但正如我所说,我是这个游戏的新手.
如果我的建议是不可能的,那么惯用法是什么?就像,我会把我的地方放在哪里
document.getElementById('desc').value
Run Code Online (Sandbox Code Playgroud)
模板上的事件地图是按照设计方式完成的吗?例如,这是为了验证输入是唯一的(服务器问题)还是动态执行mkdn(就像我输入时正好发生......).但大多数情况下,我试图了解Meteor.
反应性只是一种方式,但您可以在模板上注册事件以捕获keydown事件,然后可以设置会话变量.会话变量是反应性数据源,因此您可以使用变量和模板帮助程序在模板的另一部分中创建反应.
举个例子:
<template name="project>
<textarea id="desc"></textarea>
<div>{{projectDescription}}</div>
</template>
Run Code Online (Sandbox Code Playgroud)
-
Template.project.events({
"keydown #desc": function (event) {
var value = $(event.target).val();
Session.set("projectDescription", value);
}
});
Template.project.helpers({
projectDescription: function () {
var projectDescription = Session.get("projectDescription");
//do processing
return projectDescription;
}
});
Run Code Online (Sandbox Code Playgroud)