愿所有的美好和期待都能如约而至

从全局范围调用Svelte组件的函数

发布时间:  来源:互联网  作者:匿名  标签:error Call Svelte component's function from global scope exception goog  热度:37.5℃

本文介绍了从全局范围调用Svelte组件的函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建一个Sapper页面,我想在其中使用Google Sign-in button。需要data-onsuccess属性来指定回调函数。根据我从Google的平台JS库中发现的内容,它在全局/window范围内查找函数。

有没有办法在全局网页范围内访问/调用Svelte的组件函数?它可能用于与无法通过import直接加载到组件中的外部库进行互操作。

我正在尝试执行的操作示例:

<script>
  function onSignComponent(user){
    console.log('Signed in');
  }
</script>

<div id="login" class="g-signin2" data-onsuccess="{onSignComponent}" data-theme="dark" />

onSignComponent在全局作用域中,而不在组件作用域中时,此操作有效。

推荐答案

最简单的方法是将函数放在组件内部的window上:

<script>
  window.onSignIn = user => {
    // ...
  };
</script>

<div id="login" class="g-signin2" data-onsuccess="onSignIn" data-theme="dark" />

这篇关于从全局范围调用Svelte组件的函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,

勇敢去编程!

勇敢的热爱编程,未来的你一定会大放异彩,未来的生活一定会因编程更好!

TOP