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);
},