因为我不喜欢单个 JS 中的两个脚本标签。我preload()
在<script>
没有context=module
. 它工作正常。我想知道随之而来的错误。
问问题
201 次
1 回答
1
context=module
脚本标签允许你为组件定义一个“实例” 。我可以看到您使用它的三个主要原因:
- 您可以定义其他组件可以导入的函数或其他代码。这通常最好放在一个单独的 JS/TS 文件中,但是,嘿,有时它确实有意义。
- 您可以为该组件的所有实例定义只应定义一次的状态。例如,您可以创建一个计数器组件,用相同的值更新所有其他实例。注意最好使用商店来实现此功能..
- 您可以定义每个组件应该只发生一次的逻辑,并且在技术上可以在创建组件之前使用。(这有点与第 1 点混合)。
我假设将preload
函数移出模块脚本标记不允许在生成页面组件之前进行预加载。所以本质上,组件被创建并调用了 preload 函数,这会在数据返回后导致重新渲染。如果 preload 在模块脚本标签中,则获取它以创建第一个渲染。
这是我自己有根据的推测,不一定是事实。
请参阅此处的文档。
于 2019-10-31T13:42:59.133 回答