2016-11-23 2 views
1

私はAngular2-Meteorアプリケーションを作成しています。これは、ソーシャルチュートリアルから始まります。私はalanning:rolesとmatb33:collection-hooksを使ってユーザロールを実装しようとしています。その解決策は提案されたものと同様である。here。唯一の違いは、Angular 2ではRolesとCollection-Hooksのタイプスクリプト定義が必要なことです。 私はmeteor-typescript-libsを見つけました。これには役割の定義があり、うまくいくようです。しかし、私が見つけたコレクションフックのための唯一のリソースは、型付きの流星コレクションのフックでした。私は自分のプロジェクトにファイルを貼り付け/コピーによってindex.d.tsを参照してみましたが、私はまだ、次のエラーを取得:次の行ではmatb33:typescriptのコレクションフック

server/imports/accounts.ts (30, 14): Property 'after' does not exist on type '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]) 
}}); 

私は活字体に新しいですし、そうではありませんMeteor Packagesの型定義を実装する方法を私に明確にしてください。明らかに、私のアプローチは間違っています。 Meteor-Angular2で誰かがロールとコレクションフックの経験を持っていますか?

更新:Meteor.users.after.insert()コードは、エラーがあってもユーザーを挿入した後に実行されているようです。私は開発を続けていますが、エラーを取り除くための解決策に感謝します。

答えて

2

npmからタイピングをインストールしましたか?

https://www.npmjs.com/package/@types/meteor-collection-hooks

は、アレイのようなあなたのTSconfig「タイプ」に追加することを忘れないでください:私はこのソリューションは種類がインストールされると、 `NPM --saveをインストール(または作品を確認することができます

"types": [ 
    "@types/meteor-collection-hooks" 
] 
+0

- -save-dev)@ types/meteor-collection-hooks' テキストエディタが読み込むのに時間がかかることがあるので混乱するかもしれません。例えば、私の場合のVSコードが伝播するのに少なくとも1分かかりました。 –

関連する問題