gpt4 book ai didi

javascript - Meteor:将变量从服务器传递到客户端

转载 作者:行者123 更新时间:2023-11-29 19:23:12 25 4
gpt4 key购买 nike

我想将变量从服务器端传递到客户端的模板。在 main.html 中,我有这个模板:

<template name="hello">
...
<p>{{privateKey}}</p>
</template>

在 main.js 中,我想要这样的东西:

if (Meteor.isClient) {
Template.hello.helpers({
privateKey : function () {
return 'call to function makePrivateKey';
}
});
}

if (Meteor.isServer) {
Meteor.methods({
makePrivateKey: function() {
var privKey = bitcoinjs.ECKey.makeRandom();
return privKey.toWIF();
}
});
}

如何从服务器端调用函数 makePrivateKey 并打印我模板中的私钥?我不想使用 session 变量或动态变量。

最佳答案

对我来说似乎是一个奇怪的结构。我不认为你会希望助手生成私钥。每次该模板呈现时,它都会生成一个 key 并打印出来。但是无论如何您都不能像这样调用方法,因为在客户端上使用 Meteor.call 需要回调,因此,这不是执行此操作的方法。但是,这可能有效:

if (Meteor.isClient) {
Template.hello.events({
'click .generate-key': function () {
Meteor.call('makePrivateKey', function (error, result) {
if (!error) {
Session.set('credentials/privKey', result.privKey);
}
else {
// handle error
}
})
}
});

Template.hello.helpers({
privateKey: function () {
return Session.get('credentials/privKey');
}
});
}

if (Meteor.isServer) {
Meteor.methods({
makePrivateKey: function () {
try {
var privKey = bitcoinjs.ECKey.makeRandom();
return {privKey: privKey.toWIF()};
} catch (e) {
throw Meteor.Error('some-error', 'Bad things happened.');
}
}
});
}

关于javascript - Meteor:将变量从服务器传递到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32148008/

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