mirror of https://github.com/sveltejs/svelte
Merge pull request #1490 from sveltejs/gh-1489
fix dynamic component bindings (#1489)pull/1493/head
commit
012289a4c2
@ -0,0 +1,11 @@
|
|||||||
|
<p>green {foo}</p>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
foo: 'green'
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
@ -0,0 +1,11 @@
|
|||||||
|
<p>red {foo}</p>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
foo: 'red'
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
@ -0,0 +1,36 @@
|
|||||||
|
export default {
|
||||||
|
data: {
|
||||||
|
x: true
|
||||||
|
},
|
||||||
|
|
||||||
|
html: `
|
||||||
|
<p>parent green</p>
|
||||||
|
<p>green green</p>
|
||||||
|
`,
|
||||||
|
|
||||||
|
test(assert, component, target) {
|
||||||
|
// TODO replace this with component.set({ foo: undefined }) post-#1488
|
||||||
|
// component.set({ foo: undefined });
|
||||||
|
// delete component._state.foo;
|
||||||
|
|
||||||
|
component.set({
|
||||||
|
x: false,
|
||||||
|
foo: undefined
|
||||||
|
});
|
||||||
|
|
||||||
|
assert.htmlEqual(target.innerHTML, `
|
||||||
|
<p>parent red</p>
|
||||||
|
<p>red red</p>
|
||||||
|
`);
|
||||||
|
|
||||||
|
component.set({
|
||||||
|
x: true,
|
||||||
|
foo: undefined
|
||||||
|
});
|
||||||
|
|
||||||
|
assert.htmlEqual(target.innerHTML, `
|
||||||
|
<p>parent green</p>
|
||||||
|
<p>green green</p>
|
||||||
|
`);
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,16 @@
|
|||||||
|
<p>parent {foo}</p>
|
||||||
|
<svelte:component this="{x ? Green : Red}" bind:foo />
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import Green from './Green.html';
|
||||||
|
import Red from './Red.html';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
Green,
|
||||||
|
Red
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
Loading…
Reference in new issue