<script> не работает в угловых 5 компонентах (Plaid Link с Angular 2+) - PullRequest
0 голосов
/ 25 августа 2018

Я пытаюсь использовать Plaid Link внутри Angular Web App. Похоже, что скрипт, предоставляемый пледом, работает только внутри <body> файла index.html. Когда я пытаюсь использовать его в компоненте, скрипт просто не запускается.

Я следую вместе с документацией на https://plaid.com/docs/quickstart/#step-2-simple-integration

У них есть некоторый jquery-код, который отлично работает, если я создаю простой html-файл с ним внутри, но не работает внутри углового компонента /

Вот пример кода, который не работает в угловом формате?

`<form id='plaid-link-form'></form>
<script
src="https://cdn.plaid.com/link/v2/stable/link-initialize.js"
data-client-name="My App"
data-form-id="plaid-link-form"
data-key="[PUBLIC KEY]"
data-product="auth"
data-env="sandbox">
</script>`

РЕДАКТИРОВАТЬ: я сделал ошибку. Я использую Angular 5, а не 2.

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Я обнаружил, что Ionic 2 (Angular2 +) использует плед-ссылку в этом хранилище.https://github.com/pbernasconi/plaid-link-ionic-2-example/tree/master/src Я добавил скрипт в индекс, а затем запустил его в контроллере.Я не совсем понимаю, как файл Declarations.d.ts вступает в игру, но у меня сейчас есть файл с тем же кодом.

0 голосов
/ 25 августа 2018

Если вы используете system.js , попробуйте импортировать скрипт, используя функцию system.js import, как показано ниже: -

export class YourComponent {
  constructor(){
    System.import('https://cdn.plaid.com/link/v2/stable/link-initialize.js').then(Plaid => {
      var handler = Plaid.create({
        clientName: 'My App',
        env: 'sandbox',
        key: '[PUBLIC_KEY]', // Replace with your public_key to test with live credentials
        product: ['auth'],
      });
    });
  }
}

Если вы используете webpack , вы можете вызвать функцию require.ensure для загрузки требуемого файла.

export class YourComponent {
  constructor(){        
   require.ensure(['https://cdn.plaid.com/link/v2/stable/link-initialize.js'], require => {
     let Plaid = require('<module_path>');
     Plaid.create({
       // config object
     })
   }); 
  }
}
...