在Meteor中,为什么会使用Meteor.setTimeout()而不是普通的setTimeout()?
使用Meteor.setTimeout()而不仅仅是vanilla setTimeout或setInterval有什么价值?
这可能是一个非常基本的问题,但这是我第一次使用Meteor + Heroku,我似乎无法弄清楚如何在部署Meteor应用程序(目前使用heroku)后使用settings.json文件.
从我在网络上的研究时间来看,似乎为了在部署的应用程序中使用设置,我必须做...
export METEOR_SETTINGS="$(cat settings.json)"
Run Code Online (Sandbox Code Playgroud)
起初我以为这是为了去一个boostrap文件......然后当我开始得到保留字错误时(因为"导出")我意识到我错了
那么......我在哪里以及如何使用这条线?我想用终端输入吗?如果是这样,我怎么能在Heroku中做到这一点?
我注意到每次Meteor/Iron路由器更改路由时,整个页面都会刷新.
为什么会发生这种情况,我该如何预防呢?
对于每条新路线,我的路线设置方式都是这样的......
Router.route('/route/:_some_param', {
name: 'something',
onBeforeAction: function(){ // Something },
waitOn: function(){ // Some subscription },
action: function(){ // Something },
})
Run Code Online (Sandbox Code Playgroud)
我有这样的几条路线设置.每当我从一个页面移动到另一个页面时,Meteor会重新加载整个页面.然而,当我留在一条路线上并且只是改变参数时,Meteor只会重新加载必要的东西,这就是我一直想要的东西.
在创建Meteor事件处理程序时,有什么区别......
'click .something': function(e,t){
var data = t.data
}
Run Code Online (Sandbox Code Playgroud)
VS
'click .something': function(e,t){
var data = Template.instance().data
}
Run Code Online (Sandbox Code Playgroud)
他们似乎都提出了相同的数据.我应该选择其中一个原因吗?
阅读此主题 后:更新到0.5.2后,Keypress事件在Meteor中的"input"元素之外停止工作
我知道keydown/keyup事件是不可能的,除非你把它添加到$(document).on('keyup').....里面的Rendered回调.
但那个线程已经超过2年了.这仍然是这样吗?是否仍然没有在输入/ contenteditable之外添加keyup/keydown事件的"Meteor Way"?
版本如何编号?进入下一个版本、增量等背后的正确想法是什么?
例如,我经常看到 v0.1、v0.2、v0.34567 等。我认为这些是测试版软件,尚未完成第一个版本。
但也有很多软件是v0.10.11等,它们是如何工作的呢?
从Meteor助手进行DOM更改是一种好习惯吗?我目前依赖于一个javascript函数在Meteor帮助程序中运行,这使得每次发生集合数据更改时都会运行该函数.
我知道有Tracker.autorun()但据我所知,Tracker.autorun()仅适用于Session变量,不适用于集合数据更改.
到目前为止,我目前的方式并没有让我失望或造成任何问题,但我不能100%确定这是否是Meteor的用途.
代码示例
Template.page_body.helpers({
orange: function() {
do_some_rand_function()
return this.name
}
})
Run Code Online (Sandbox Code Playgroud)
此代码将确保每次this.name更改时都运行do_some_rand_function()(this.name是从Mongo Collection获取的变量,因此它是被动的).
在javascript/Meteor中,如果我有多个使用相同类的方法,那么在方法之外声明它并重用该类是不好的做法还是好的做法?
这两个选项中的哪一个实际上是正确的编码方式?
即选项1
Meteor.methods({
do1: function () {
var facebook = facebook('facebook id');
facebook.something1()
},
do2: function () {
var facebook = facebook('facebook id');
facebook.something2()
}
})
Run Code Online (Sandbox Code Playgroud)
即选项2
facebook = facebook('facebook id');
Meteor.methods({
do1: function () {
facebook.something1()
},
do2: function () {
facebook.something2()
}
})
Run Code Online (Sandbox Code Playgroud)