0

WireCloud でホストされる angular.js を介してアプリケーション - ウィジェット - を開発しました。アプリケーションにログインしているユーザーのユーザー名を取得する必要があります。この目的のために、MashupPlatform.context.get('username') を使用する必要がありますが、Angular は外部オブジェクトであるため、明らかに「MashupPlatform」を認識しません。

この問題を克服する方法はありますか?

ありがとうございました

4

3 に答える 3

1

@Meier が言ったように、ウィジェットが Wirecloud にロードされると MashupPlatform がインジェクトされますが、ローカルでテストするには、npm と bower にあるmock-mashupplatformライブラリを使用できます。現在、wirecloud 0.7 のほぼすべてがサポートされていますが、0.8 へのサポートは今週提供される予定です。

この例では、次のようにします。

// Create the default values in a dictionary
var preferencesValues = {
    'username': 'myusername'
};
// Construct the default values with strategies
var values = {
    'prefs.get': MockMP.strategy.dict(preferencesValues)
};

// Construct the MashupPlatform with that values
window.MashupPlatform = new MockMP.MockMP(values);
于 2015-10-24T10:28:58.140 に答える