特定の条件に基づいてさまざまなオートフォーム ステップを含むカスタム フォーム ウィザードを作成しようとしています。簡単な meteorPad の例を以下にリンクします。リアクティブ データ ソース (セッション変数) が変更されると、リアクティブ計算 (テンプレート ヘルパー) が実行され、コンソール出力で確認されます。ただし、テンプレートは更新されず、ステップ数は同じままです。テンプレートを正しく更新するために必要なことはありますか? ありがとう! http://meteorpad.com/pad/cPWShRiTKYpBaMahn/リーダーボード
html
<body>
{{> basicWizard}}
{{> changeSteps}}
</body>
<template name="basicWizard">
<!--shouldn't the steps variable update when the helper runs?-->
{{> wizard id="basic-wizard" steps=steps}}
</template>
<template name="changeSteps">
<button id="changeStepsButton"> change number of Steps </button>
</template>
クライアントコード
Session.set('twoSteps', false);
information = new SimpleSchema({
password: {
type: String,
label: 'password',
},
});
confirm = new SimpleSchema({
userName: {
type: String,
label: 'blah',
},
});
Template.basicWizard.helpers({
steps: function() {
var ret = [];
if (Session.get("twoSteps")) {
ret[ret.length] =
{
id: 'information',
title: 'Information',
schema: information,
}
}
ret[ret.length] =
{
id: 'confirm',
title: 'Confirm',
schema: confirm ,
}
console.log("num steps: " + ret.length)
return ret;
}
});
Template.changeSteps.events({
"click #changeStepsButton": function (event) {
Session.set('twoSteps', !Session.get("twoSteps"));
},
})