嵌入在Angular2组件中获取您的指南小部件

时间:2016-11-03 13:34:24

标签: angular typescript widget embed

我正在尝试嵌入一个"获取您的指南" Angular2中的小部件。

我可以在index.html中添加脚本并获取请求,但我不知道如何将其添加到组件的HTML中。

<script async defer src="//widget.getyourguide.com/v2/core.js" onload="GYG.Widget(document.getElementById('gyg-widget'),{'q':'Paris'});"></script>

我试过HTML:

    <div id="gyg-widget"></div> 

在打字稿中:

import { Component, OnInit } from '@angular/core';

declare var GYG: any;

@Component({
  selector: 'app-excursions',
  templateUrl: './excursions.component.html',
  styleUrls: ['./excursions.component.scss']
})

export class ExcursionsComponent implements OnInit {

  constructor() {}

  ngOnInit() {
    new GYG.Widget(document.getElementById('gyg-widget'),{'q':'Paris'});
  }
}

但这是纯粹的猜测而且它不起作用。

错误:./ExcursionsComponent类出错ExcursionsComponent_Host - 内联模板:0:0引起:GYG未定义 ReferenceError:未定义GYG     在ExcursionsComponent.ngOnInit(excursions.component.ts:20)

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我正在使用angular-cli,我已经通过

解决了这个问题
  1. 从widget.getyourguide.com/v2/core.js下载获取您的指南库并将其存储为lib / gyg.js

  2. 将以下行添加到angular-cli.json:

    “脚本”:[     “LIB / gyg.js”   ],

  3. 这取代了上面的部分。我无法按照“获取您的指南”的建议直接从外部服务器加载脚本。