gpt4 book ai didi

meteor - 如何在 Meteor 的不同模板之间传递 Reactive 变量?

转载 作者:行者123 更新时间:2023-12-05 01:17:49 25 4
gpt4 key购买 nike

我有 2 个单独的模板:

<template name = "MusicControl">
<!-- Some Logics here -->
</template>

<template name = "MusicSystem">
<!-- Some Logics here ("click" event) -->
</template>

我有 2 个与这两个模板相关的 JavaScript 文件。

我想要的是,如果在 上发生事件("click" 事件)音乐控制 模板,它设置某种全局变量(但 不是 Session 变量),以便我可以在另一个模板中作为辅助函数访问它。

如何在 中实现响应式(Reactive)字典 在 meteor ?

别担心我有 在各自的 js 中为模板定义的辅助函数 .

还有一件事,这些 <templates>相互独立,我只想听 <template 1>中的事件< template 2>通过使用某种全局变量。

最佳答案

@zim 答案的一个简单版本是:

HTML(实际上是空格键)

<template name="Parent">
{{> Child1 sharedVar1=sharedVar}}
{{> Child2 sharedVar2=sharedVar}}
</template>

JavaScript

import { ReactiveVar } from 'meteor/reactive-var';

// Just initialize the variable. Could also be within the scope of a template.
var myReactiveVar = new ReactiveVar();

Template.Parent.helpers({
// This is what will be sent to Child1 and Child2.
sharedVar: function () {
return myReactiveVar;
}
});

Template.Child1.helpers({
myValue: function () {
// As usual, this will be reactive.
return Template.instance().data.sharedVar1.get();
}
});

Template.Child2.events({
'event selector': function (event, template) {
// This change will trigger an autorun of Child1 myValue helper.
template.data.sharedVar2.set(myNewValue);
}
});

(当然你可以把这些拆分成几个JS文件)

使用 Meteor 1.6.1 和 Blaze 的演示应用程序示例: https://github.com/ghybs/meteor-blaze-templates-share-data

关于meteor - 如何在 Meteor 的不同模板之间传递 Reactive 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43148872/

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