Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据布尔值切换D3形状_Javascript_Meteor_D3.js - Fatal编程技术网

Javascript 根据布尔值切换D3形状

Javascript 根据布尔值切换D3形状,javascript,meteor,d3.js,Javascript,Meteor,D3.js,我试图在Meteor中显示和隐藏D3形状之间切换,具体取决于会话中保存的布尔值。我的代码在这里 如果我手动更改代码中会话的值并重新加载,形状将切换。但是,当我通过单击按钮进行更改时,无法切换形状,因为模板不会重新渲染 编辑-已解决: 更新的模板.Main.onRendered的最终上下文不是反应性的-这就是为什么在会话更改中没有执行代码的原因 更改此项: Template.Main.onRendered(function () { const self = this; ...

我试图在Meteor中显示和隐藏D3形状之间切换,具体取决于会话中保存的布尔值。我的代码在这里

如果我手动更改代码中会话的值并重新加载,形状将切换。但是,当我通过单击按钮进行更改时,无法切换形状,因为模板不会重新渲染

编辑-已解决:


更新的
模板.Main.onRendered
的最终

上下文不是反应性的-这就是为什么在
会话
更改中没有执行代码的原因

更改此项:

Template.Main.onRendered(function () {
    const self = this;

    ...
});
为此:

Template.Main.onRendered(function () {
    const self = this;

    this.autorun(function () {
        // reactive context here
        ...
    });
});

Template.Main.onRendered
的上下文不是被动的-这就是为什么您的代码没有在
会话中执行

更改此项:

Template.Main.onRendered(function () {
    const self = this;

    ...
});
为此:

Template.Main.onRendered(function () {
    const self = this;

    this.autorun(function () {
        // reactive context here
        ...
    });
});

太棒了,谢谢你!意识到我还需要添加代码来删除元素,但现在一切都很好。上面贴了最新的流星板。太棒了,谢谢!意识到我还需要添加代码来删除元素,但现在一切都很好。上面贴了更新的流星板。