0
TL; DR:在线REPL(苗条1.9.1)有效,但本地已损坏。问题:我在做什么错,本地?苗条REPL和本地输出之间的区别
下面的代码工作在this REPL:
{{grades}}<br>
{{#each guesses as guess, i}}
{{#each guess as slot}}
{{slot}}
{{/each}}
=
{{ grades[i] }}
{{/each}}
<script>
export default {
data() {
return {
guesses: [
[0, 1, 1, 3, 6],
],
grades: [
[1, 2, 2],
],
}
},
};
</script>
即,它产生的输出:
1,2,2-
01136 = 1,2,2
但是,本地(Linux上的Svelte 1.9.1薄荷18.1,64位),是完全相同的文件生成以下输出:
1,2,2
01136 =未定义
正如你所看到的,它访问grades
就好了,但在#each
循环内没有grades[i]
。控制台不报告错误。
另外一个神秘的东西
如果我删除这些行:
{{#each guess as slot}}
{{slot}}
{{/each}}
...那么本地渲染变为:
1,2,2
= 1,2,2
那么这个#each
块怎么会使得grades[i]
未定,突然......但只在本地?
其他环境信息
本地版本,经过以下被拉:
Game.js
import Game from '../components/Game.html';
const GameComponent = new Game({
target: document.querySelector('main'),
});
export default GameComponent;
main.js
/* eslint-disable no-unused-vars */
import Game from './js/Game';
index.html
<!doctype html>
<html>
<head>
<title>CheaterMind</title>
<link rel="stylesheet" type="text/css" href="colours.css">
</head>
<body>
<main></main>
<script src='../dist/main.js' charset='utf-8'></script>
</body>
</html>
设置是https://github.com/charpeni/svelte-example的副本,我使用的是npm run build:watch
。
这是一个非常疯狂的错误 - 我无法在本地获得相同的结果,你能够创建一个可共享的repro? –
@RichHarris当然,只需一分钟。我不知道(与任何科技)是否是我或技术。 :) – Kev
@RichHarris https://github.com/IBwWG/cheatermind/tree/svelte-start – Kev