使用matb33:typescript中的collection-hooks

时间:2016-11-23 19:44:49

标签: typescript meteor-accounts angular2-meteor

我正在创建一个Angular2-Meteor应用程序,从社交教程开始。我正在尝试使用alanning实现用户角色:roles和matb33:collection-hooks。解决方案类似于提议的here。唯一的区别是Angular 2需要Roles和Collection-Hooks的打字稿定义。 我找到了meteor-typescript-libs,它有一个似乎有效的Roles定义。但是,我发现的唯一的收集钩子资源是typed-meteor-collection-hooks。我尝试通过将文件复制/粘贴到我的项目中来引用index.d.ts,但我仍然收到以下错误:

  

server / imports / accounts.ts(30,14):类型'Collection<上的属性'after'不存在用户>'。

在以下行:

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包的类型定义。显然,我的做法是错误的。有没有人在Meteor-Angular2中有角色和收藏钩的经验?

更新:尽管有错误,但在插入用户后似乎正在执行Meteor.users.after.insert()代码。我正在继续开发,但希望能够找到解决错误的解决方案。

1 个答案:

答案 0 :(得分:2)

您是否尝试过从npm安装打字?

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

不要忘记还要添加到tsconfig“types”数组中,如:

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