Svelte:引用未定义
Svelte: refs undefined
我正在使用 Svelte (v2.7) and Sapper (v0.12). According to the docs,this.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>
我假设这不是一个错误(否则每个人都会 运行 进去?)而且我有一些问题,因为这是我第一次使用它。
ref
指令的语法是 ref:name
,而不是 ref="name"
。它必须是有效的 JavaScript 标识符,例如<select ref:wifissid>
而不是 wifi-ssid
.
如果没有声明引用,则不会创建 refs
对象。
这已被弃用,我相信新语法是 <select bind:this={wifissid}>
我正在使用 Svelte (v2.7) and Sapper (v0.12). According to the docs,this.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>
我假设这不是一个错误(否则每个人都会 运行 进去?)而且我有一些问题,因为这是我第一次使用它。
ref
指令的语法是 ref:name
,而不是 ref="name"
。它必须是有效的 JavaScript 标识符,例如<select ref:wifissid>
而不是 wifi-ssid
.
如果没有声明引用,则不会创建 refs
对象。
这已被弃用,我相信新语法是 <select bind:this={wifissid}>