pull/3945/head
Rich Harris 6 years ago
parent ec2704412a
commit bf49717f99

@ -53,7 +53,7 @@ export default function bind_this(component: Component, block: Block, binding: B
const args = []; const args = [];
for (const id of contextual_dependencies) { for (const id of contextual_dependencies) {
args.push(id); args.push(id);
block.add_variable(id, block.renderer.reference(id)); block.add_variable(id, block.renderer.reference(id.name));
} }
const assign = block.get_unique_name(`assign_${variable.name}`); const assign = block.get_unique_name(`assign_${variable.name}`);
@ -65,7 +65,7 @@ export default function bind_this(component: Component, block: Block, binding: B
`); `);
const condition = Array.from(contextual_dependencies) const condition = Array.from(contextual_dependencies)
.map(name => x`${name} !== ${block.renderer.reference(name)}`) // TODO figure out contextual deps .map(name => x`${name} !== ${block.renderer.reference(name.name)}`)
.reduce((lhs, rhs) => x`${lhs} || ${rhs}`); .reduce((lhs, rhs) => x`${lhs} || ${rhs}`);
// we push unassign and unshift assign so that references are // we push unassign and unshift assign so that references are
@ -74,7 +74,7 @@ export default function bind_this(component: Component, block: Block, binding: B
block.chunks.update.push(b` block.chunks.update.push(b`
if (${condition}) { if (${condition}) {
${unassign}(); ${unassign}();
${args.map(a => b`${a} = ${block.renderer.reference(a)}`)}; ${args.map(a => b`${a} = ${block.renderer.reference(a.name)}`)};
${assign}(); ${assign}();
}` }`
); );

Loading…
Cancel
Save