tweaks and fixes

pull/1864/head
Rich Harris 7 years ago
parent c75b73937f
commit 1638aec061

@ -109,7 +109,10 @@ export default class Expression {
if (isReference(node, parent)) {
const { name, nodes } = flattenReference(node);
if (currentScope.has(name)) return;
if (currentScope.has(name)) {
contextual_dependencies.add(name);
return;
}
if (component.helpers.has(name)) {
let object = node;
@ -121,7 +124,6 @@ export default class Expression {
}
expression.usesContext = true;
contextual_dependencies.add(name);
if (!isSynthetic && !isEventHandler) {
// <option> value attribute could be synthetic — avoid double editing

@ -650,9 +650,9 @@ export default class ElementWrapper extends Wrapper {
});
block.builders.init.addBlock(deindent`
${name}.$on("${handler.name}", function(event) {
function ${name}(event) {
ctx.${handler_name}.call(this, event, ctx);
});
}
`);
} else {
name = `ctx.${handler_name}`;

@ -71,11 +71,13 @@ export class SvelteComponent {
}
$set(values) {
if (this.$$) {
this.$$.inject_props(values);
run_all(this.$$onprops);
for (const key in values) this.$$make_dirty(key);
}
}
$$update() {
this.$$fragment.p(this.$$dirty, this.$$.get_state());
@ -85,10 +87,12 @@ export class SvelteComponent {
}
$$destroy(detach) {
if (this.$$) {
this.$$fragment.d(detach);
run_all(this.$$ondestroy);
// TODO null out other refs
this.$$ondestroy = null;
this.$$ondestroy = this.$$fragment = this.$$ = null;
}
}
}
Loading…
Cancel
Save