gpt4 book ai didi

javascript - Skeleton Meteor 应用程序未跨选项卡更新

转载 作者:行者123 更新时间:2023-11-30 00:21:18 30 4
gpt4 key购买 nike

我使用 curl | 在 Linux 上安装了 Meteor 的全新副本sh 命令,以及在 Windows 上使用 Meteor 客户端。

当我运行以下一系列命令时:

$ meteor create testcode
$ cd testcode
$ meteor run

Meteor 启动应用程序,并向我显示应用程序在 http://localhost:3000/ 上运行的消息。

当我在浏览器的两个选项卡中打开页面并单击 Click Me 按钮时,“您已按下按钮 Y 次”文本不更新两个标签中的Y+1,只有当前标签。点击次数不再跨标签同步。

这是预期的行为吗?因为我记得在早期修订中看到它通过跨选项卡同步数字来工作。

也就是说,我已经在 Linux/Windows 中分别使用 Chrome 和 Firefox/Chrome 和 Internet Explorer 尝试过这个。

最佳答案

这是不应该的。

您可能将它与可以使用以下方式创建的排行榜示例应用混淆:

$ meteor create --example leaderboard my_leaderboard

默认的骨架应用程序只改变一个局部 react 变量。
这是 source code

它创建一个名为 hello 的模板。

hello 模板的标记包括对名为 counter 的帮助程序和一个按钮的引用。

<template name="hello">
<button>Click Me</button>
<p>You've pressed the button {{counter}} times.</p>
</template>

Session 是由 ReactiveDict 提供的响应式(Reactive)字典 ( session )包,并且在浏览器选项卡之间不同步。
它在启动时设置为 0 并由 counter 帮助器响应式访问。

每当变量更改并触发 DOM 更改时,都会重新运行帮助程序。

// counter starts at 0
Session.setDefault('counter', 0);

Template.hello.helpers({
//rerun whenever the Session's couter value changes
counter: function () {
return Session.get('counter');
}
});

每次单击按钮时,hello 模板的事件处理程序都会递增该值,这会触发重新运行 counter 帮助程序。

Template.hello.events({
'click button': function () {
// increment the counter when button is clicked
Session.set('counter', Session.get('counter') + 1);
}
});

关于javascript - Skeleton Meteor 应用程序未跨选项卡更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33034902/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com