我刚刚开始学习meteor,我想知道什么是实现MDI(多文档接口)UI的正确方法,就像meteor中jQuery窗口插件()提供的那样
我最初的想法是在会话中存储一个窗口对象数组,然后让模板循环遍历窗口列表,并相应地渲染它们
但是,这意味着每当用户打开或关闭窗口时,我都必须使用修改后的数组调用Session.set(),这将导致整个UI的完全重新呈现,可能会使用户失去当前的工作状态(除非为要使用的表单元素动态生成唯一ID)
此外,UI将支持拖放和调整大小,这将导致窗口对象的更新,但更新窗口对象不
我正在尝试创建一个handlebar.registerHelper(),它将为我输入的每个数字将我的{{>template}包装在一个{{{each items}}中
像这样的事情
{{forevery items 4}}
{{> item_row_template}}
{{/forevery}}
期望的结果是每4个项目将其环绕一个div
<div class="row">
<div class="item_1">item</div>
渲染后如何在Meteor模板中使用大写的小a
我尝试的是:
Meteor的LiveRange对象有一个visit()方法。使用它,我可以访问模板的所有渲染DOM节点。对于每个DOM文本节点,我在访问者中修改其数据
然而!如何获取模板的LiveRange对象
在模板的回调rendered()中,这是模板实例。它在名为\u spark\u keezuqtoktobuqw3xw之类的成员中有一个LiveRange对象。看起来Meteor不喜欢有人访问此成员
我如何才能以一种让流星神满意的方式获得模板的
我正在使用meteor的以下软件包
oauth
twitter
accounts-base
我可以使用Twitter.requestCredential注册用户,以获取令牌并将其设置到我的用户帐户中。服务
问题:
我可以看到该用户已经登录到他的twitter帐户。
对于已经使用Twitter.requestCredential注册到我的站点的用户,我如何将同一用户登录到我的站点?为什么不使用帐户Twitter软件包?在工作中,我是否仍然需要请求权限来授权应用程序,这是正常行为?或者用户应该自动
我有两个集合:一个用于帖子,一个用于分类。帖子有一个或多个类别。如果删除了一个类别,我想更新Posts集合,这样Posts就不会包含任何不存在的类别。我必须这样做,但我不确定这是最有效的方法
按下类别删除按钮时会触发此代码。这将从集合中删除该类别,并遍历包含该类别的每篇文章,并更新类别数组以排除已删除的类别
Template.listCategories.events({
'click .delete-category': function(e){
e.preventDe
是否可以在呈现模板之前执行javascript脚本
如果可能的话,我不想用熨斗路由器做这件事
在我的项目中,有一个脚本可以翻译模板中的几个单词。这些翻译必须从文件中读取,因此在正确的输出出现之前会有延迟。现在我想从一开始就读取整个文件,并将其保存在缓存中。保存此模板后,模板将获得正确的单词
然后我想完成模板渲染
大概是这样的:
// Client only
Handlebars.registerHelper('translate', function(stringPart) {
retur
我正在尝试在我的meteor项目中使用Npm包socks5 https客户端。
我可以使用以下方式加载主要功能:
var Socks5ClientHttps = Meteor.require('socks5-https-client');
但我无法向代理加载以下内容:
var Socks5ClientHttpsAgent = Meteor.require('socks5-https-client/lib/Agent');
我得到这个错误:
Error: Can't find npm modu
我正在使用Meteor的Autoform+简单模式+Collection2软件包
不幸的是,我的表单没有使用标准表单模式,因为没有任何表单标记和表单提交按钮。一切都是通过jQuery和JS完成的。只需输入框和一个按钮,按下时使用jQuery获取输入框内的值
我已定义架构,我想使用AutoForm来:
根据表单输入字段的键控模式进行验证。当前,Autoform仅在按下提交按钮时进行验证
允许通过上面我的jQuery按钮方法提交
基本上,AutoForm似乎与必须按下Submit按钮并拥有表单标签才
我正在尝试让助手重新运行并在更新此集合时返回更新的集合
例如:
Template.imagegallery.myimages = function() {
return Images.find({owner: Meteor.userId()}).fetch();
}
当我通过服务器端的Meteor.call向映像添加数据时,我的集合在客户端本地更新,但助手功能不会重新运行,映像也不会更新
知道我需要做什么才能将helper对象的返回集合放入重新激活的上下文中吗?返回光标而不是数组:
我曾试图在移动设备上实现双击,但“dblclick”似乎已经失败了
'dblclick .myclass': function(){
console.log("it works")
};
谢谢实现长按的最简单方法可能是使用contextmenu事件。这不仅可以在手机上长时间按下去,还可以在桌面上右键单击
Template.templateName.events({
'contextmenu .myclass': function(e){
e.p
问题:我想根据用户选择显示不同的模板
问题:有没有办法只使用markupSpacebars而不使用单选按钮上的click event来检查选择了哪个单选按钮以获取值。
下面是我想做的例子
<template name="category">
<label class="radio-inline">
<input name="studentGroup" id="studentYes" value="true" type="radio"> Yes
我用的是Meteor SimpleSchema软件包。不幸的是,它的文档缺少关于如何使用Mongo.ObjectID引用文档的解释,所以我想知道它是如何完成的。在猫鼬中,我会有这样的东西:
BookSchema = new mongoose.Schema({
author: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Author'
}
});
其中ref:“Author”告诉BookSchema,
试图设置我的集成流,我使用velocity Cumber软件包进行了一些破坏性的测试
我发现的第一个问题是,这些测试是在标准Meteor db上运行的。在localhost和dev上,这很好,但对于生产来说并不太好。据我所知,cucumber对镜子没有任何作用
正因为如此,我有两个案例需要流星以一种特定的方式发射
1) 在CI服务器上,我只需要运行测试,然后退出(希望有正确的退出代码)
2) 在生产服务器上,我需要Meteor跳过所有测试并启动
这在Meteor命令行参数中是可能的吗?我正在考虑
标签: Meteor
Smtp
ubuntu-14.04digital-oceanmeteor-up
最近,我在Meteor应用程序中添加了电子邮件发送功能,使用电子邮件包和帐户注册API发送电子邮件。前几天,在我的开发机器上彻底测试了它之后,我使用Meteor Up将它部署到了我们的生产服务器上。部署后,我快速检查了电子邮件API是否正常工作,并顺其自然。一两天后,我做了一些小改动,将这些电子邮件API包装在Meteor.defer方法中以加快UI速度。我在本地测试了这些更改,一切正常,然后重新部署。在看到有一些新的安全更新可用的通知后,我还在服务器上运行了apt get update。完成此
我在运行应用程序并尝试路由到root/about时出现此错误
ReferenceError: Session is not defined at [object Object].route.onBeforeAction (app/lib/routes.js:38:8) at boundNext (packages/iron:middleware-stack/lib/middleware_stack.js:251:1) at runWithEnvironment (packages/meteor/
标签: Meteor
packagemeteor-accounts
我需要通过OAuth2使用trakt.tv服务实现一个新的accounts包。
如何使用facebook或其他已实现的帐户源创建自己的帐户?如果您在GitHub上查看,您可以对解决方案进行反向工程
另请参见Meteor上的项目页面。如果您在GitHub上查看项目,您可以对解决方案进行反向工程
另请参见Meteor上的项目页面。如果您在GitHub上查看项目,您可以对解决方案进行反向工程
另请参见Meteor上的项目页面。如果您在GitHub上查看项目,您可以对解决方案进行反向工程
另请参见Met
标签: Meteor
meteor-helpermeteor-collections
我有两个收藏:
Contracts = new Mongo.Collection('contracts');
Reminders = new Mongo.Collection('reminders');
数据库中的结构大致如下所示:
合同:
{
"id": "4432234",
"contract": "C-42432432",
"description": "Description of contract",
"counterpart": "Company name",
同时使用Meteor和著名的(以及著名的视图),如何创建可交换的导航/路线?当我向左/向右滑动时,我想转到一个新页面,但我希望通过“向内滑动”效果来完成
在什么地方有这样的例子吗
我正在用这个。在服务器上,我加密某些字段并将其保存到mongo数据库。
我想在发布函数中解密这些字段。这可能吗?我该怎么做
我之所以避免这样做,是因为我认为把密码写在浏览器中可见的文件上是不安全的
欢迎提出任何建议,谢谢 您可以使用附加或修改的字段创建出版物。这将使您的解密数据在客户端可用并起反应。除了我希望在客户端专门进行加密/解密的架构更好之外,您最好的选择可能是在发布功能中检索所有文档,就像在任何没有发布功能的服务器端方法中一样,使用publish函数中的this.added()对其进行解
很抱歉,如果之前已经回答了这个问题,那么我甚至在命名我需要的东西时都遇到了麻烦,更不用说在现有的堆栈溢出问题中寻找建议了
基本上,我有一个meteor应用程序,其中用户:
可以在本机iOS客户端上录制音频并将其发送到用户的dropbox
创建记录元数据到客户端,并在dropbox上传成功后将其发送到meteor应用程序
在服务器端:通过dropbox+显示用户录音的基本列表/详细信息模板进行身份验证
将记录对象插入meteor集合后(通过服务器方法),我需要进行进一步处理:
=>从用户的dro
标签: Meteor
meteor-autoformmeteor-collection2
我只是从流星和自动成型开始。我已经创建了一个quickform调用的模式。问题是,如果没有数组组包装器,我不知道如何在特定的数组索引上进行验证。如果我在下面使用这种模式,我可以对它进行验证,但是它需要一个对象,我正在寻找一个字符串。如果我将类型更改为String,则根本不会显示验证。非常感谢您的帮助
schema.js
Schema.NewUser = new SimpleSchema({
"profile.organization" : {
type: String,
试着用波旁威士忌和利落酒来配合我的流星计划。我在尝试运行服务器时不断遇到问题。我正在尝试使用此软件包,但出现以下错误:
While processing files with fourseven:scss (for target web.browser):
/client/stylesheets/main.scss: Scss compiler error: File to import:
{wolves:bourbon}/bourbon not found. Import o
问题:在单页应用程序中,当用户从一个页面转到另一个页面时,Meteor是否保持复选框的状态
我正在尝试在Meteor中开发一个“选择要阅读的书籍”应用程序,在该应用程序的主页上,用户可以从多本书中选择添加到他的阅读列表中。所选书籍将显示在“我的阅读列表”页面上。
我已经用Flow Router建立了路由系统
//routes.js
FlowRouter.route“/”{
名称:'书目',
行动:职能{
BlazeLayout.rendermainLayout,{content:bookLis
在过去的几天里,我对流星和望远镜都是新手。昨天,我更新了软件包。从那时起,我无法在Mac电脑上运行望远镜应用程序
=> Started proxy.
=> Started MongoDB.
I20151128-19:27:24.429(8)? Kadira: completed instrumenting the app
W20151128-19:27:24.432(8)?
标签: Meteor
sharesocial-networking
我如何管理Meteor上的网页,以便当我将链接复制粘贴到任何社交网络(尤其是VK.com)的博客页面时,它会将其识别为显示链接标题和描述的页面
谢谢,要使其正常工作,页面必须在服务器上呈现,并以HTML格式返回到社交网络
通常流星站点仅在客户端浏览器上呈现。服务器返回的唯一内容是Javascript应用程序。这不仅仅是社交网络的问题,也是搜索引擎优化的问题,因为搜索引擎看不到你的页面
如果你用的是Blaze,那就没有我知道的解决方案。您可以尝试安装spiderable软件包(它为索引爬虫提供了一
我在《流星》中有一个助手:
itemMenuAddOns: function(_id){
console.log(_id); //OK
var addOns = RestMenuItems.find({_id:_id}, {addOns: 1});
if(addOns){
console.log(addOns); //OK, an object where in the collection/map I see the ex
嗨,我使用matteodem:Meteor的简易搜索包。现在我正在将我的结果分为size
Template.UserList.helpers({
users: function () {
all = Meteor.users.find().fetch();
chunks = [];
size = 3;
while (all.length > size) {
chunks.push({ row: all.slice(0, size)});
我是MeteorJS的新手,目前正在构建一个同样使用iron router软件包的应用程序,不确定在iron router布局方面我做错了什么
我在main.js文件中定义了以下内容:
Router.configure({
layoutTemplate: 'ApplicationLayout'
});
Router.route('/:_id', function () {
this.render('navbar', {
to: 'navbar'
});
在我的发布方法中,如果未授权用户试图订阅发布,我应该抛出错误,还是应该返回this.ready()。(用咖啡脚本)
这:
Meteor.publish "secretInfo", ->
return @error(new Meteor.Error(422, "Permission denied")) unless @userId
return Secrets.find({})
或者:
Meteor.publish "secretInfo", ->
return @re
我正在制作一个订单,我希望用户能够在以后恢复他们的订单,因此我在IncompleteOrders集合中创建一个订单,并将未完成订单的docId保存在用户的本地存储中
当用户返回到我想要读取本地存储中存储的docId的页面时,订阅IncompleteOrders集合,并查询他们的未完成订单
Template.order.onCreated(function(){
if (amplify.store('orders') && amplify.store('orders').do
标签: Meteor
sendgridpickerbody-parser
我试图用Meteor、Picker和Body解析器解析来自Sendgrid入站Webhook的传入电子邮件。我收到电子邮件,但当我记录请求正文时,我得到一个空对象。我在这里错过了什么
var bodyParser = require('body-parser');;
Picker.middleware( bodyParser.json() );
Picker.route('/incoming/', function(params, req, res, next) {
console.
我想知道是否有一个适当的方法来停止客户的订阅
例如,我有两个页面,第一个页面我向客户订阅用户出版物,第二个页面我订阅项目出版物
当客户机从用户页面转到项目页面时,他仍然订阅了用户,尽管他在项目页面上不需要订阅
所以我的第一个问题是:它需要内存还是CPU?当客户订阅越来越多的出版物时,当他从一条路线转到另一条路线时
第二个问题:取消订阅的正确方式是什么??
例如,当他进入项目页面时,取消订阅用户出版物
我看到的一些软件包就是这样做的。例如,反应表
提前谢谢你 通常,如果要停止订阅,可以使用Mete
我正在将测试数据移动到一个debugOnly包中。通过这种方式,我可以确保在生产安装上没有可用的测试数据,并且清理数据库和创建夹具的方法也将不可用。这意味着当我们使用--production标志运行集成测试时,创建夹具的方法将不可用
是否可以告诉meteor在生产运行中包含特定的包?或者有没有其他好的方法来测试带有夹具的产品构建
我正在使用Meteor用户帐户创建用户。我实现了两种创建用户的方法
通过使用帐户密码创建默认密码。
OAuth服务帐户google和facebook帐户
使用帐户密码生成的用户帐户的文档如下所示
{
"_id": "DQnDpEag2kPevSdJY",
"createdAt": "2015-12-10T22:34:17.610Z",
"services": {
"password": {
"bcrypt": "XXX"
},
"resume":
使用meteor,我希望能够在用户通过外部服务进行身份验证登录以获得授权声明后,增加用户记录
更新
我正在使用{{loginButtons}}把手帮助小部件
目前,我看到一个Accounts.validateNewUser和一个Accounts.onCreateUser,它们可以在创建新用户的过程中连接。这些一开始会有帮助,但我的需求是反复出现的
我知道Meteor.Collection有一个挂起的allow函数,它是授权用户访问集合的一种方法,这正是我将使用我打算增加用户权限的声明来确定授权的
对于用户数据,我有一个如下所示的发布/订阅:
Meteor.publish("allUserData", function () {
return Meteor.users.find({}, {
fields: { "emails": 1, "_id": 1, "profile": 1 }
}
);
});
Meteor.subscribe("allUserData");
但是,当我尝试读取配置文件时,它总是未定义的,直到我刷新页面,然
我正在为自己的自定义登录页面使用Mesosphere表单包。以下是登入表格:
Mesosphere({
name: "loginForm",
method: "login",
fields: {
usernameEmail: {
required: true,
format: /^[a-zA-Z0-9_]{2,25}$/i,
message: "only alphanumeric u
收藏:
docs:
_id
name
代码:
但我希望findOne查询能够同时发送 一个可能更简单的替代方法是在中使用$in,并对数据库本身执行并行查询。下面是CoffeeScript中的一个示例:
ids = ['abc123', 'def456', 'hij789']
names = (doc.name for doc in Docs.find({_id: $in: ids}, {fields: name: 1}).fetch())
一个可能更简单的替代方法是在中使用$in,并
我正在学习Meteor,并从根本上享受如何快速构建数据驱动的应用程序。然而,当我阅读《发现Meteor》一书中关于使用服务器端方法的创建帖子一章时。具体来说,主要原因(有许多非常有效的理由使用这些)是因为时间戳。您不希望依赖于客户端日期/时间,而是希望使用服务器日期/时间
这很有意义,只是在我构建的几乎所有应用程序中,我们都将行创建/更新的日期/时间存储在列中。实际上,每次创建或更新数据库都会记录日期/时间,在Meteor中,现在看来我需要使用服务器端方法来确保数据完整性
如果我理解正确的话,这
我对Meteor还很陌生,只是想弄清楚Meteor的安全性
我正在编写一个测验应用程序,允许登录用户保存他们的分数。我创建了一个由用户id和分数数组组成的集合。我公开推送新分数的方式是服务器端的一种方法:
Meteor.methods({
'pushScore' : function(playerId, playerScore) {
UserScores.upsert({ userId : playerId}, {$push : {scores : playerScore}});
标签: Meteor
iron-routerspacebars
我有两种不同的用户类型“reader”和“publisher”。此信息存储在Meteor.users文档Meteor.users.userType:“publisher”中,也可以Meteor.users.userType:“reader”
如何根据用户类型向appBody动态添加元素
对于用户类型,数据上下文和菜单项之类的内容当然会有所不同
我引用了
HTML:
如果您想继续使用UI.dynamic,我建议您编写自己的模板选择器函数:
换言之,它需要如下所示:
if (Meteor.isCli
{{>myTemp}}工作正常,但{{>Template.dynamic Template=myTemp}产生
未捕获错误:{{each}}当前仅接受数组、游标或假值
不知道去哪里找
-更新以添加每个块的-
{{#each this}}
<section class="blog-post">
{{#if isInRole 'mdblog-author'}}
{{> blogControls }}
{{/if}}
假设您希望动态插入到不同的集合中。现在我使用的是switch语句:
开关(一){
案例“狗”:
插入式({
姓名:“Skippy”
});
打破
案例“cat”:
插销({
姓名:“Skippy”
});
打破
}我不认为有meteor内置的方法可以做到这一点,但手动创建收藏目录非常简单:
客户端和服务器的共同点:
var collections = {};
function myColl(name) {
var coll = new Meteor.Collection(name);
我使用Meteor(Coffeescript+Jade+Stylus)和MaterializeCSS作为前端框架。我(我认为)正确地使用网格。您可以通过将web浏览器调整到手机大小来重现我面临的问题。网格将很好地适应
但是,当你试图在移动设备上实际访问该页面时,会显示可折叠按钮,但页面的其余部分将与桌面上的完全相同,从而使页面无法读取
有什么建议吗?这是流星的错还是物化的错?此外,如果您在此处查看:
将此添加到标题中:
<meta content="width=device-width,
我有一个流星助手返回一个阵列。所以,“国王”是一个数组:
....
<p>{{King}}</p>
...
}
}); 关闭。您正在使用{{King[n]},其中n是数组中的索引。对我来说{{King[n]}似乎正在打印整个数组。您确定它不仅仅打印数组中该索引处的对象吗?
<p>{{King}}[0] here</p>
...
<li>{{King}}[4] here</li>
...
Template.clientG
我已将fontawesome npm安装到我的meteor应用程序中,但我无法将fontawesome图标显示在网页上。我的控制台没有错误,所以我不确定我做错了什么
我是不是把它放错地方了
路径:imports/ui/layouts/body/body.js
从“fontawesome”导入fontawesome尽管大气图书馆说要使用npm。我花了相当多的时间使npm库工作。更少的版本和正常的css。不幸的是没有运气
使用
我很想使用npm软件包,但现在继续使用atmosphere软件包更简单、
我在meteor中有一个表单,当我提交它时,我想路由到另一个模板。但它在某种程度上不起作用
表单的路径是:localhost:3000/dateForm
表单的输入是生日的日期、月份和年份(不相关)。但当它提交表单时(提交表单事件已就位,且存在Router.go(“/display”),它只会在地址栏中显示“”(25,9,1996是表单中的输入),并只显示相同的表单页面
如何在提交事件中将应用程序路由到不同的模板
main.html中的html代码:
<template name="dat
我是Docker的新手(2周),但我在为Meteor安装编写Dockerfile方面取得了很好的进展
现在我在最后一行看到文件权限错误。老实说,我认为更广泛的问题是我不完全理解Linux文件系统和权限;因此,如果有任何建议,我将不胜感激
这就是错误:
Meteor 1.5 has been installed in your home directory (~/.meteor).
Writing a launcher script to /usr/local/bin/meteor for you
我有一个片段,可以在Meteor项目的数据库中插入一个项目。如果我在命令行上运行meteor mongo,然后经过以下代码,它就可以工作了
db.groups.insert({
name: 'Gaming',
keywords: ['computer games'],
desc: 'Nunquam vitare lapsus.Hercle, orexis talis!, detrius!',
img: 'gamers.jpg',
});
如何从我的package.json文件中
我在galaxy服务器上的meteor应用程序中有两个容器。我有一些后台作业,我只想在单个容器上执行,以避免重复
最简单的方法是什么?是否有一些procId或类似的东西可以在运行时检索?如果两台服务器都有自己的设置文件,您可以使用一个设置来指定其中一台服务器作为执行后台作业的服务器
有一个名为node cron的包,可用于设置常规作业
使用Meteor.startup方法查看设置文件,如果它是指定的服务器,它可以为自己安排作业
另一种技术是计算每个服务器的ID,并使数据库条目包含指定服务器的ID
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 205 页