only apply aliasing logic once

pull/1905/head
Rich Harris 6 years ago
parent f3c5521f80
commit 392fec9238

@ -409,12 +409,10 @@ export default class Block {
const localKey = this.key && this.getUniqueName('key');
return deindent`
${this.comment && `// ${escape(this.comment)}`}
function ${this.name}(#component, ${this.key ? `${localKey}, ` : ''}ctx) {
${this.comment && `// ${this.comment}`}
function ${this.name}(${this.alias('component')}, ${this.key ? `${localKey}, ` : ''}ctx) {
${this.getContents(localKey)}
}
`.replace(/(#+)(\w*)/g, (match: string, sigil: string, name: string) => {
return sigil === '#' ? this.alias(name) : sigil.slice(1) + name;
});
`;
}
}

@ -0,0 +1,26 @@
export default {
preserveIdentifiers: true,
props: {
links: ['a', 'b', 'c']
},
html: `
<a href="x#a">x#a</a>
<a href="x#b">x#b</a>
<a href="x#c">x#c</a>
`,
test({ assert, component, target }) {
component.links = ['d', 'e', 'f'];
const links = [...target.querySelectorAll('a')];
assert.deepEqual(links.map(l => l.href), ['x#d', 'x#e', 'x#f']);
assert.htmlEqual(target.innerHTML, `
<a href="x#d">x#d</a>
<a href="x#e">x#e</a>
<a href="x#f">x#f</a>
`);
}
};

@ -0,0 +1,3 @@
{#each links as link}
<a href="x#{link}">x#{link}</a>
{/each}
Loading…
Cancel
Save