首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角小部件Eventbrite

角小部件Eventbrite
EN

Stack Overflow用户
提问于 2020-08-28 23:55:54
回答 2查看 356关注 0票数 0

要在eventbrite中进行签出,在文档中使用一个扩展窗口的Widget (https://www.eventbrite.com/platform/docs/embedded-checkout),但是如何在角中使用普通代码呢?我已经这样做了:

  1. <script src="https://www.eventbrite.com/static/widgets/eb_widgets.js"></script>放在index.html中
  2. 使用按钮<button id="eventbrite-widget-trigger" type="button">Buy Tickets</button>创建组件
  3. 创建一个具有小部件配置的.ts:
代码语言:javascript
复制
    const eventbriteCallback = function () {
      console.log("Order complete!");
    };
    
    window.EBWidgets.createWidget({
      widgetType: "checkout",
      eventId: "52766401728",//Here is event dinamically
      modal: true,
      modalTriggerElementId: "eventbrite-widget-trigger",
      onOrderComplete: eventbriteCallback,
    });

但是,如何将普通代码(第3点)与组件(第2点)合并,并以二进制方式发送eventId呢?还是有人在有棱角的eventbrite中集成了结账?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-31 15:09:18

谢谢阿伯德拉姆·苏拜-埃里迪,我解决了这个问题:

在文件angular.json的脚本数组中添加脚本

遵循本文中的步骤:如何从第5角的打字本中调用JavaScript函数?

  1. 在文件夹中创建文件:src/assets/js/eventbrite/Regier.js,在这里放置:
代码语言:javascript
复制
    function registerEvent(eventId, action) {
      const button = document.createElement("button");
      button.setAttribute("id", "example-widget-trigger");
      button.setAttribute("type", "button");
      document.body.appendChild(button);
      button.style.display = "none";
      setTimeout(() => {
        document.body.removeChild(button);
      }, 200);
    
      window.EBWidgets.createWidget({
        widgetType: "checkout",
        eventId: eventId,
        modal: true,
        modalTriggerElementId: "example-widget-trigger",
        onOrderComplete: action,
      });
    
      button.click();
    }
  1. 在angular.json中搜索projects.architect.scripts并添加src/projects.architect.scripts/js/eventbrite/Register.js 数组脚本
  2. 要调用函数,在导入之后:声明function registerEvent(eventId, action): void;
  3. 呼叫registerEvent(eventId, exampleCallback); 显示步骤3和步骤4
票数 0
EN

Stack Overflow用户

发布于 2020-08-29 00:06:17

例如,您可以使用NgZone来实现:

AppComponent中:

代码语言:javascript
复制
import { NgZone} from '@angular/core'; // import

在构造函数中:

代码语言:javascript
复制
 constructor(private _ngZone: NgZone) {

 this._ngZone.runOutsideAngular(() => {

 window.EBWidgets // put your code that will be executed outside of angular

  });

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

https://stackoverflow.com/questions/63642163

复制
相关文章

相似问题

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