を公開するjs.dartを使用して:)私は私と一緒に裸してくださいプログラミングDARTへ新たなんだauth0のAPI
私はDART Angular2アプリケーションを書いているが、それは当面の問題とは無関係です。
ダーツでAuth0Lockを使用しようとしていますが、1https://pub.dartlang.org/packages/jsを使用してAPIを公開しています。
私はアプリケーションをデバッグするためにDartiumを使用しています。
ので、私は、次のauth0lock.dartファイルを使用してAuth0LockのAPIを露出している:
import 'package:js/js.dart';
@JS()
class Auth0Lock {
external factory Auth0Lock(String token, String domain, Object options);
external on(String event, Function func);
external show();
}
は私が必要とするだけで基本的なものを露呈しました。
インポート「パッケージ:angular2/core.dart」
は、私は、次のコードを持っているauth0_service.dart
という名前のファイルにAngular2サービスを作成しました。 'auth0lock.dart'をインポートします。 'app.config.dart'をインポートします。
@Injectable()
class Auth {
Auth0Lock lock;
Auth() {
this.lock = new Auth0Lock(configObj.auth0.apiKey, configObj.auth0.domain,{});
}
updateProfileName(data) {
var profile = data['profile'] != null ? data['profile'] : data;
print(profile['name']);
}
authenticated() {
return false;
}
login() {
this.lock.show().then(this.updateProfileName);
}
}
また、私はauth0をロード私のindex.html
を紹介します:
<!DOCTYPE html>
<html>
<head>
<title>Demo App</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="www/styles.css">
<script src="https://cdn.auth0.com/js/lock/10.0.0/lock.min.js"></script>
<script defer src="/web/main.dart" type="application/dart"></script>
<script defer src="/packages/browser/dart.js"></script>
</head>
<body>
<my-app></my-app>
</body>
</html>
私は自分のアプリケーションを実行したとき、私はollowingエラーを取得:
EXCEPTION: No static method 'Auth0Lock.' declared in class 'Auth0Lock'.
のでAuth0Lockが静的ではありませんメソッドでは、クラスのコンストラクタです。私はJSのAPIを間違って使用しなければなりません。
私はauth0lock.dart
に次を付加する必要が