首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Onboard.js或Web3Modal.js中设置Onboard.js提供程序,然后在Nuxt.js中全局注入?

如何从Onboard.js或Web3Modal.js中设置Onboard.js提供程序,然后在Nuxt.js中全局注入?
EN

Stack Overflow用户
提问于 2021-09-19 04:28:51
回答 1查看 162关注 0票数 0

使用opensea构建静态生成的店面。因为钱包提供商似乎是最好的选择是onboard.js或Web3modal。

在Nuxt中使用"inject“的组件之间共享代码和状态。将onboard.js和opensea作为客户端插件加载。

在初始载荷下,在全球范围内注入。用户选择钱包后,车载订阅会触发一个回调函数wallet: (wallet) => {...},并且在其作用范围内,当前提供程序变得可用。然后,我将提供程序传递给OpenSeaPort,并将其全局注入。但是它不起作用,当从其他组件(页面)调用时,this.$seaport不会被定义。

/plugins/onboardopensea.client.js

代码语言:javascript
复制
import { OpenSeaPort, Network } from "opensea-js";
import Onboard from "bnc-onboard";

export default ({ app }, inject) => {

  let seaport = {};

  const onboard = Onboard({
    dappId: "...",
    networkId: 1,
    subscriptions: {
      wallet: (wallet) => {

      seaport = new OpenSeaPort(wallet.provider, {
      networkName: Network.Main,
      apiKey: "...",
       });

      inject("seaport", seaport);
      },
    },
    walletSelect: {
      wallets: ...,
    },
)};

  inject("onboard", onboard);
}

似乎注入函数只运行一次,第一次加载,并在稍后从车载钱包回调函数调用时运行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-02 17:45:38

经过更深入的研究,"Inject“似乎只被调用了一次,并附加到Vue实例和Nuxt应用程序。使用"Vue.prototype.$seaport = seaport“,它可以在任何时候从车载订阅回调函数调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69240284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档