Svelte:引用未定义

Svelte: refs undefined

我正在使用 Svelte (v2.7) and Sapper (v0.12). According to the docsthis.refs 应该可用,但对我来说 undefined,无论是 oncreate 还是自定义方法。

我的 index.html 看起来像这样:

<select id="wifi-ssid" ref="wifi-ssid">
...

<script>
    export default {
        oncreate() {
            console.log('this.refs is undefined here', this.refs);
        },
        methods: {
            getIsValid() {
                console.log('this.refs is undefined here too', this.refs);
                // ...
            },
            // ...
        }
    };
</script>

(Full code here).

我假设这不是一个错误(否则每个人都会 运行 进去?)而且我有一些问题,因为这是我第一次使用它。

ref 指令的语法是 ref:name,而不是 ref="name"。它必须是有效的 JavaScript 标识符,例如<select ref:wifissid> 而不是 wifi-ssid.

如果没有声明引用,则不会创建 refs 对象。

这已被弃用,我相信新语法是 <select bind:this={wifissid}>