Javascript 在《秘密》和《流星》中使用了什么?
secrets.meteor.com是一个简单的应用程序,每个用户在其中键入一些内容,并在提交时通过该应用程序实时发送消息,供所有人查看,然后删除该消息,以便下一条消息显示 为了实现这一点,实际上正在做些什么?我为这个愚蠢的问题感到抱歉,但是我已经搜索了很多关于这个是如何制作的,什么也没看到。每个消息是否都是一个正在传递的函数,然后执行和删除 警告secrets.meteor.com未净化使用输入!!如果键入Javascript 在《秘密》和《流星》中使用了什么?,javascript,meteor,Javascript,Meteor,secrets.meteor.com是一个简单的应用程序,每个用户在其中键入一些内容,并在提交时通过该应用程序实时发送消息,供所有人查看,然后删除该消息,以便下一条消息显示 为了实现这一点,实际上正在做些什么?我为这个愚蠢的问题感到抱歉,但是我已经搜索了很多关于这个是如何制作的,什么也没看到。每个消息是否都是一个正在传递的函数,然后执行和删除 警告secrets.meteor.com未净化使用输入!!如果键入alert('hi'),您将看到一个警报,这意味着任何人都可以在您的机器上运行javas
alert('hi')
,您将看到一个警报,这意味着任何人都可以在您的机器上运行javascript。如果你真的想查看这个网站,你可以在匿名窗口中打开它
用流星可以做得很容易。你不必做太多 --javascript文件
if (Meteor.isClient) {
Template.yourTemplate.events({
'submit form': function(event){
event.preventDefault();
var message= event.target.messageInput.value;
console.log(message)
Session.set('messagetoDisplay', message);
}
});
Template.yourTemplate.helpers({
message: function(){
return Session.get('messagetoDisplay');
}
})
}
---html模板
<body>
{{>yourTemplate}}
</body>
<template name="yourTemplate">
{{message}}
<form>
<input type="text" name="messageInput">
<input type="submit" value="submit">
</form>
</template>
{{>yourTemplate}
{{message}}
使用meteor很容易。你不必做太多
--javascript文件
if (Meteor.isClient) {
Template.yourTemplate.events({
'submit form': function(event){
event.preventDefault();
var message= event.target.messageInput.value;
console.log(message)
Session.set('messagetoDisplay', message);
}
});
Template.yourTemplate.helpers({
message: function(){
return Session.get('messagetoDisplay');
}
})
}
---html模板
<body>
{{>yourTemplate}}
</body>
<template name="yourTemplate">
{{message}}
<form>
<input type="text" name="messageInput">
<input type="submit" value="submit">
</form>
</template>
{{>yourTemplate}
{{message}}
这里有一个完整的答案,它实际上展示了多台计算机之间的反应
lib/collections.js
Secrets=newmongo.Collection(“Secrets”);
client/templates.js
Template.body.helpers({
秘密:函数(){
返回Secrets.findOne({},{sort:{date:-1}});
}
});
Template.body.events({
“提交表单”:函数(e){
//阻止页面操作
e、 预防默认值();
//获得价值
var message=event.target.mySecret.value;
//插入数据库
秘密。插入({
文本:消息,
日期:新日期()
});
//清晰的形式
event.target.mySecret.value=“”;
}
});
main.html
{{secret.text}
这里有一个完整的答案,它实际上展示了多台计算机之间的反应
lib/collections.js
Secrets=newmongo.Collection(“Secrets”);
client/templates.js
Template.body.helpers({
秘密:函数(){
返回Secrets.findOne({},{sort:{date:-1}});
}
});
Template.body.events({
“提交表单”:函数(e){
//阻止页面操作
e、 预防默认值();
//获得价值
var message=event.target.mySecret.value;
//插入数据库
秘密。插入({
文本:消息,
日期:新日期()
});
//清晰的形式
event.target.mySecret.value=“”;
}
});
main.html
{{secret.text}
这被称为反应性,插座用于此Meteor通常用于实时应用程序。这就是所谓的反应性,套接字用于此Meteor通常用于实时应用程序。一次有效的尝试,但这肯定不是这样做的,因为session
变量只影响当前用户/会话。一次有效的尝试,但这肯定不是这样做的,因为session
变量只影响当前用户/会话。