Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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 流星侵位_Javascript_Node.js_Templates_Meteor_Meteor Blaze - Fatal编程技术网

Javascript 流星侵位

Javascript 流星侵位,javascript,node.js,templates,meteor,meteor-blaze,Javascript,Node.js,Templates,Meteor,Meteor Blaze,我有一个调用子模板的父模板。我想通过按下按钮来杀死子模板 父模板 <template name="tracker"> <span id="destroyChild" class="btn" title="destroyTable"></span> {{<child}} </template> 我找

我有一个调用子模板的父模板。我想通过按下按钮来杀死子模板

父模板


    <template name="tracker">
         <span id="destroyChild" class="btn" title="destroyTable"></span>
    
         {{<child}}
    </template>

我找不到任何可用作删除子模板的参数。我不断收到
未捕获错误:预期使用Blaze.render呈现模板


我给了子模板一个Id,并尝试使用
选择器调用它,但没有成功。有什么想法吗?谢谢

您不应该强制修改布局。Blaze是一个反应式引擎,因此一切都应以声明方式决定,例如:


{{{#如果显示}
{{>子}
{{/if}

你不应该强制修改你的布局。Blaze是一个反应式引擎,因此一切都应以声明方式决定,例如:


{{{#如果显示}
{{>子}
{{/if}

当孩子不再被渲染到DOM中时,它不会自动被销毁吗?我想是的,但是你会导致什么呢?我在你的代码中假设,
{{{child}}
,对吧?我从来没有调用过
Blaze。在使用Meteor的五年中删除
,就像Jan建议的那样,你可能也不需要。您可能应该找到一种反应式的方法来实现这一点,即,使用一个条件来保护子对象的包含,然后单击按钮进行更改。当子对象不再呈现到DOM中时,它不是自动被销毁了吗?我想是的,但您的目的是什么?我在您的代码中假设
{child}
,对吗?我从来没有给Blaze打过电话。在使用Meteor的五年中删除了,就像Jan建议的那样,你可能也不需要。您可能应该找到一种被动的方法来实现这一点,即,保护包含孩子的条件,然后单击按钮进行更改。
'click span[id=destroyChild]'(e, template) {
            //This works to remove the Parent template
            //Blaze.remove(template.view);
 
           Blaze.remove('what do I put here?');
        },
Session.setDefault('show', true);
Template.tracker.helpers({
  show() {
    return Session.get('show');
  }
});

...

  'click span[id=destroyChild]'(e, template) {
     Session.set('show', false);
  },