我正在使用 UI.render() 和 UI.insert() 插入模板。
当我试图删除我插入的模板时,它似乎留在内存中并且没有调用被破坏的方法。
根据文档,如果我使用 jquery 删除元素,它应该清理属性。
我正在使用以下代码对其进行测试:
测试.html:
<head>
<title>removeTest</title>
<style>
#content {
height: 500px;
width: 500px;
background-color: gray;
}
</style>
</head>
<body><div id="content"></div></body>
<template name="foo"><div id="{{id}}">Foo</div></template>
测试.js:
if (Meteor.isClient) {
UI.body.events({
"click": function(event) {
var instance = UI.renderWithData(Template.foo, { });
UI.insert(instance, $("#content")[0]);
}
});
Template.foo.created = function() {
this.data.id = "handle";
var self = this;
this.x = setInterval(function() { console.log("running...") }, 1000);
setTimeout(function() { $("#handle").remove() }, 1000);
};
Template.foo.destroyed = function() {
// never called.
clearTimeout(this.x);
};
}
我做错什么了?
谢谢。