2

Web に API を正常に実装することができました。これは次のようになります。通常の html ファイルにボタンがあります...

<div>
    <span class="radio-button radio-left" id="sandboxLinkButton">Sandbox Mode</span>
</div>

スクリプトタグを含めます...

<script src="https://cdn.plaid.com/link/stable/link-initialize.js"></script>

そして、HTML本文に次のjavascriptを含めます...

<script type="text/javascript">
  var sandboxHandler = Plaid.create({
      clientName: 'SUM',
      env: 'tartan',
      product: 'auth',
      key: 'test_key',
      onSuccess: function(token) {
        //window.location = '/accounts.html?public_token=' + token;
        console.log("yes");
      },
    });

  // Open the "Institution Select" view using the sandbox Link handler.
    document.getElementById('sandboxLinkButton').onclick = function() {
      sandboxHandler.open();
    };

</script>

今度は、angular js を使用して同じことを行いたいと思います。私はイオンフレームワークを使用しています(実際には重要ではありません)。したがって、最初に次を使用して必要なhtmlを表示します...

app.config(function($stateProvider, $urlRouterProvider) {
  $urlRouterProvider.otherwise('/app');
  $stateProvider

  .state('app', {
    url: '/app',
    templateUrl: 'templates/menu.html',
    controller: 'AppCtrl'
  })
});

私のmenu.htmlファイルには次のボタンが含まれています...

 <span ng-click="create()" class="radio-button radio-left" id="sandboxLinkButton">Sandbox Mode</span>

その上ng-clickで、次のコントローラーに到達します。このコントローラーにAPIを実装しようとしましたが、役に立ちませんでした...

app.controller('AppCtrl', function($scope, $ionicModal, $timeout) {
    var sandboxHandler = Plaid.create({
    clientName: 'SUM',
    env: 'tartan',
    product: 'auth',
    key: 'test_key',
    onSuccess: function(token) {
        console.log("yes");
    },
  });

  $scope.create = function() {
    sandboxHandler.open();
  }
});

Plaidコントローラーで定義されていないというエラーが表示されます。何故ですか?

編集

angularを使用してWebアプリのバージョンを複製したところ、機能しました。イオン/角度の代わりに次のCDNを使用しました

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>

しかし、まだ ionic Web アプリで動作させることができません。他の誰かがこの問題に遭遇したことがありますか?

4

2 に答える 2

1

ライブラリを含めると、すぐにブラウザに次のエラーが表示されました。Uncaught TypeError: Cannot read property 'appendChild' of null

さまざまなライブラリに関するこのエラーに関する同様の質問がここここにありますが、それらの回答に基づいて問題を解決できませんでした。

私が見つけた解決策に最も近いものは、GitHub の Plaid リポジトリ内のこの問題レポートにありました。<head>タグに配置するとライブラリが動作しない問題について説明します。この問題レポート内のコミット<body>は、タグの代わりにタグ内にスクリプトを含めることでこの問題を解決できることを説明しています<head>

イシュー レポートを購読して、他のソリューションが将来導入されるかどうかを確認することをお勧めします。

だからtldr; <script>タグを から<head>に移動してみてください<body>

于 2016-09-26T10:11:21.697 に答える
0

私が作成した Plain angular ラッパーを簡単に使用できます。

https://github.com/khashayar/ng-plaid

于 2016-10-26T08:22:02.243 に答える