Socially チュートリアルから始めて、Angular2-Meteor アプリを作成しています。alanning:roles と matb33:collection-hooks を使用してユーザー ロールを実装しようとしています。解決策は、ここで提案されているものと同様です。唯一の違いは、Angular 2 では Roles と Collection-Hooks の typescript 定義が必要なことです。私は meteor-typescript-libs を見つけました。これには、動作しているように見える Roles の定義があります。しかし、私が見つけた collection-hooks のリソースは typed-meteor-collection-hooks だけでした。ファイルをプロジェクトにコピー/貼り付けしてindex.d.tsを参照しようとしましたが、それでも次のエラーが発生します。
server/imports/accounts.ts (30, 14): プロパティ 'after' はタイプ 'Collection < User >' に存在しません。
次の行で:
Meteor.users.after.insert(function (userId, doc) {
if (doc.profile.type === "basic") {
Roles.addUsersToRoles(doc._id, [ROLES.Basic])
} else if (doc.profile.type === "admin") {
Roles.addUsersToRoles(doc._id, [ROLES.Admin])
} else if (doc.profile.type === "manager") {
Roles.addUsersToRoles(doc._id, [ROLES.Manager])
}});
私は typescript に慣れていないので、Meteor パッケージの型定義をどのように実装すればよいかわかりません。明らかに、私のアプローチは間違っています。Meteor-Angular2 でロールとコレクション フックを使用した経験のある人はいますか?
更新: エラーにもかかわらず、ユーザーの挿入後に Meteor.users.after.insert() コードが実行されているようです。私は開発を続けていますが、エラーを取り除くための解決策をいただければ幸いです。