From bab037e60e9b05ff4b65388bcae7a132bf5c511e Mon Sep 17 00:00:00 2001 From: hontas Date: Sat, 7 Mar 2020 23:20:28 +0100 Subject: [PATCH] let this point to instance --- src/runtime/internal/Component.ts | 2 +- test/custom-elements/samples/instance-this/main.svelte | 7 +++++++ test/custom-elements/samples/instance-this/test.js | 8 ++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 test/custom-elements/samples/instance-this/main.svelte create mode 100644 test/custom-elements/samples/instance-this/test.js diff --git a/src/runtime/internal/Component.ts b/src/runtime/internal/Component.ts index 10588a0804..3c8bf9d0f2 100644 --- a/src/runtime/internal/Component.ts +++ b/src/runtime/internal/Component.ts @@ -127,7 +127,7 @@ export function init(component, options, instance, create_fragment, not_equal, p let ready = false; $$.ctx = instance - ? instance(component, prop_values, (i, ret, ...rest) => { + ? instance.call(component, component, prop_values, (i, ret, ...rest) => { const value = rest.length ? rest[0] : ret; if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) { if ($$.bound[i]) $$.bound[i](value); diff --git a/test/custom-elements/samples/instance-this/main.svelte b/test/custom-elements/samples/instance-this/main.svelte new file mode 100644 index 0000000000..47ff31e492 --- /dev/null +++ b/test/custom-elements/samples/instance-this/main.svelte @@ -0,0 +1,7 @@ + + + diff --git a/test/custom-elements/samples/instance-this/test.js b/test/custom-elements/samples/instance-this/test.js new file mode 100644 index 0000000000..8520710ca0 --- /dev/null +++ b/test/custom-elements/samples/instance-this/test.js @@ -0,0 +1,8 @@ +import * as assert from 'assert'; +import './main.svelte'; + +export default function (target) { + target.innerHTML = ''; + const el = target.querySelector('my-app'); + assert.ok(el.self === el); +} \ No newline at end of file