问题标签 [angular2-meteor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - MongoDB - How to find() a field in a collection that has a reference to another collection?
So I have this field contacts.envCon.name
which is inside the Projects collection but when I see them in mongo they are like this:
After doing a simple find based on past ObjectId:
I get the following result:
By the way: I'm using Meteor if there is anyway to do this directly with publish/suscribe methods.
meteor - 如何在 Meteor.users.find({}) 上使用 zone()
现在在 angular2-meteor 中,我们开始使用 MongoObservable.Collection 代替 Mongo.Cursor 和 zone() 方法,这有助于使用我们组件的 Zone 和 | 将集合更改为我们的视图。html 模板中的异步。这是最新教程的链接
现在,我尝试在 Meteor.users.find({}) 方法上使用此 zone() 方法,以在成功创建任何新用户时自动显示我的应用程序中的所有用户。
我的服务器端的代码
在客户端我用过
html代码是
当我将 .zone() 应用于此时,this.userlist = Meteor.users.find({}).zone();
我收到此错误。
如果我不使用 zone() 和 | 异步然后我得到所有用户列表但是如果我删除任何用户或创建任何新用户我的列表不会自动更新我必须刷新。对于自动渲染新内容,我们必须使用 zone 和 async 但它不能与 Meteor.users.find() 一起使用。
angular - 如何在 angular2-meteor 应用程序中使用延迟加载
我正在创建一个 angular2 meteor 应用程序,我需要在其中进行延迟加载。
我已经尝试过 angular 2 doc 进行延迟加载。
应用程序.routes.ts
核心路由.ts
当我在添加延迟加载后运行我的代码时,我收到了这个错误。
为什么它不工作。我应该怎么做才能让它工作?
谁能告诉我如何在 angular2-meteor 应用程序中使用延迟加载?
meteor - 如何在 angular2-meteor 应用程序中使用 momentjs npm-package?
我想在我的 angular2-meteor 应用程序中使用 moment.js 库。为此,我安装了 npm 包:
meteor npm install moment --save
现在,在我想使用这个库的组件中,我必须以某种方式导入它:
import {???} from 'moment';
但是这里必须导入什么,所以我可以通过以下方式在组件的某处使用它:
var foo = moment().format('LLLL');
twitter-bootstrap - Bootstrap DropDown 和 collapse 不适用于 angular2-meteor
我在我的 angular2-meteor 项目中安装引导程序:
然后下拉和折叠组件不起作用,但是当我在 index.html 正文中添加引导脚本行时,我的引导组件工作正常。
为什么
simple-schema - 使用 angular2-meteor 在 Mongo.Collection 上找不到 attachSchema 属性
这是我的问题:
我想利用 simple-schema 的力量来检查我的插入是否符合以下模式:
出于某种原因,我忽略了,即使 SimpleSchema 看起来很好实例化,我也不能在 Mongo.Collection 上使用 attachSchema 属性。
这是我的代码:
这是我的错误消息:
类型“Collection<{}>”上不存在属性“attachSchema”。
TypeError:repo_collection.attachSchema 不是函数
meteor - Meteor:会话客户端
所以我尝试使用 Ionic 2 CLI 构建 angular-meteor WhatsApp 克隆教程
本教程基本上删除了client
流星项目中的文件夹,并使用离子项目中的流星客户端包连接到流星服务器。
效果很好,但是现在我想订阅带有反应参数的流星出版物。
在搜索 Meteor API 文档后,我找到了Session对象:
Session 在客户端上提供了一个全局对象,您可以使用它来存储任意一组键值对。使用它来存储列表中当前选定项目之类的内容。
Session 的特别之处在于它是响应式的。如果您
Session.get("currentList")
从模板内部调用,则无论何时调用该模板都会自动重新呈现Session.set("currentList", x)
。
在Meteor 订阅文档中,您可以找到以下示例:
这将使您订阅当前房间中的聊天消息和您的私人消息。当你调用 Session.set("current-room", "new-room") 换房间时,Meteor 会订阅新房间的聊天消息,退订原房间的聊天消息,并继续订阅你的私信.
这正是我想做的。但正如会话文档所述,会话是我必须添加到流星项目中的一个包:
要将 Session 添加到您的应用程序,请在终端中运行以下命令:
现在我的问题是,有没有办法将会话添加到流星客户端包?
如果我只是尝试调用Session.set()
它在运行时失败Session is not defined
我的猜测是我需要一些 npm 包来提取会话功能(基本上是会话客户端 npm 包),例如accounts-base-client-side
还有其他方法可以做到这一点吗?我将如何构建自己的会话客户端?
我试图meteor add session
在我的流星项目中运行,但无法在.meteor
文件夹和npm_modules
.
我还查看了流星 GitHub,但他们拥有的 Session.js 文件仅包含文档
任何输入如何做这样的事情都会很好
更新:
我查看了accounts-base-client-side包,发现它们是使用脚本自动生成的,所以我目前正在尝试调整这个脚本来使用Session而不是accounts-base。您可以在以下位置找到我的尝试:https ://github.com/AwsmOli/session-client-side
仍在进行中,但我应该尽快让它工作
更新 2:
看看我的回答,我的会话客户端现在正在工作:)
typescript - 在打字稿中使用 matb33:collection-hooks
我正在创建一个 Angular2-Meteor 应用程序,从 Socially 教程开始。我正在尝试使用 alanning:roles 和 matb33:collection-hooks 来实现用户角色。该解决方案将类似于此处提出的解决方案。唯一的区别是 Angular 2 需要角色和集合挂钩的打字稿定义。我找到了meteor-typescript-libs,它有一个似乎有效的角色定义。但是,我发现的收集挂钩的唯一资源是 typed-meteor-collection-hooks。我尝试通过将文件复制/粘贴到我的项目中来引用index.d.ts ,但我仍然收到以下错误:
server/imports/accounts.ts (30, 14):“集合<用户>”类型上不存在属性“之后”。
在以下行:
我是打字稿的新手,我不清楚应该如何为 Meteor 包实现类型定义。显然,我的方法是错误的。有人对 Meteor-Angular2 中的角色和收集钩子有任何经验吗?
更新:尽管出现错误,但似乎 Meteor.users.after.insert() 代码在插入用户后正在执行。我正在继续开发,但希望能找到消除错误的解决方案。
angular - 如何根据 Angular 2 中的条件重定向到某个路由。
我正在创建一个 angular2-meteor 应用程序。
当我使用 LoginComponent 登录我的应用程序时,它将转到具有三个子组件的 TemplateComponent
- 仪表板
- csv时间线
- csvjson
现在,我默认将 redirectTo 设置为我的仪表板组件。但是代替此重定向,我想根据登录用户配置文件重定向到 csvjson 组件或 csvtimeline 组件。
认为
如果登录用户是“管理员”,他应该重定向到 - >仪表板组件
如果登录用户是“Guest”,那么他应该是 redirectTo -> csvjson 组件
我知道我们可以在仪表板组件的 ngOnInit() 中执行此操作以进行重定向。
但我正在寻找更好的选择,所以我不必每次都打开仪表板组件,它会直接转到 csvjson 组件。
angular2-meteor - 在 Angular 2/Meteor 中等待 InjectUser
我有一个简单的组件设置如下:
我希望this.user
包含登录用户的信息。在所有后续加载的组件上它都可以工作,但对于加载的第一个组件this.user
是undefined
我希望在初始化任何组件之前预先填充用户数据。这样我就不必在每个组件上都有相同的订阅代码。我该怎么做呢?