问题标签 [meteor-blaze]

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.

0 投票
4 回答
2837 浏览

html - 在 Handlebars/Blaze #each 循环中访问集合索引

我在搞乱流星排行榜的例子。假设我想在把手#each 循环中显示项目的索引:

通常人们会为此编写一个车把助手,但我无法弄清楚如何让它与 Meteor 集合一起使用。

如何做到这一点?谢谢你。

0 投票
1 回答
757 浏览

javascript - 我如何正确地使流星模板反应?

我的应用程序显示了一组项目,我想添加一个项目向下钻取视图。

我只能使解决方案的一半起作用;我找到合适的文档并使用该文档来呈现模板:

这将成功呈现单个项目并绑定适当的事件。

问题来了,模板不是反应式的!如果我使用关联的事件处理程序或从控制台更改其数据,则不会更新模板。但是,页面刷新将显示更新的数据。

我是 Meteor noobie,所以这可能很简单。任何帮助将不胜感激。

0 投票
1 回答
2289 浏览

javascript - Meteor 0.8 Blaze 如何更新 Jquery 插件的渲染更改

我的问题是如何在 DOM 中更新一组元素时获取 1 个事件或渲染回调?如果我点击 Blaze wiki https://github.com/avital/meteor-ui-new-rendered-callback中的链接,这不是我想要的。如果我遵循第二个建议,我将获得与元素一样多的渲染调用。并且父元素在页面加载时只会获得 1 个渲染回调。

在我的例子中,我使用 Footable Jquery 插件来格式化表格。初始加载工作正常,但如果我更改 Collection 查找中的过滤器变量,DOM 会更新并且不会再次调用渲染,因为 Blaze 只调用渲染一次。我不想把它放到另一个模板中,因为这只是意味着对渲染的多次调用,因此当整个表只需要一个时,对Footable的多次调用。

任何帮助表示赞赏。

0 投票
1 回答
2893 浏览

collections - 在模板助手中使用 Meteor.users()

我在从 Meteor 0.8.0 的模板助手中获取用户配置文件数据时遇到问题。这段代码在以前的版本中运行良好,但自从今天早上升级后它就坏了。我最初认为这是模板助手运行两次的问题,但当我深入研究时,我发现问题比这更微妙。

在模板帮助器“findClientLiason”下方被调用了两次(它的输出在控制台中记录了 2 次)。用户第一次将显示为“未定义”,第二次正确的用户对象将以我期望的方式出现。两次“clientLiason”都会正确输出。

对我来说最有趣的是,如果我删除 'var user = Meteor.users.findOne({_id: clientLiason});' 调用 findOne 调用助手只调用一次。

在我看来,对 Meteor.users 集合的调用会强制对数据库进行另一次调用。第一次调用它时 Meteor.users 集合是空的。

我有如下所示的发布和订阅。我正在使用 Iron Router 全局 waitOn() 函数,但我想知道 Meteor.users 集合是否应该更早加载?

任何想法,将不胜感激。再次感谢。

出版物.js

路由器.js

clientItem.html

clientItem.js

0 投票
0 回答
803 浏览

templates - 不使用 {{#each}} 时如何使模板渲染功能工作

因此,自从升级到 0.8.0 以来,我一直在尝试弄清楚如何在 Meteor 中使用渲染功能。Blaze 改变了渲染函数的行为,现在它只被调用一次

在寻求帮助时,我找到了 2 个示例,这些示例解释了如何使用这种新方法获得旧功能。Meteorpedia,请查看标题为“使用外部脚本(例如 jQuery)的新呈现行为”的部分。Avital 的github 存储库展示了两种解决问题的新方法。

但是,这些都不适合我。我的问题是我没有使用 {{#each}} 块循环内容。我只需要在信息迭代时运行渲染。因此,每次将新项目添加到数据库时,都会调用上述示例。但这对我不起作用,因为我只需要在页面呈现后显示信息并运行一些 jquery 样式设置。

所有这一切,我发现如果我检查数据是否有内容,渲染的功能对我来说是正确的。如果有人想看看我做了什么,我有一个包含以下文件的仓库。

基本上下面发生的情况是,在 {{#each data}} 和 {{#if data}} 块中调用时,“justName”渲染函数中发生的操作会起作用,但如果两者都不使用,则发生得太快。这对于理解这一点的人来说可能是有意义的(我不知道),但它似乎确实可以发挥作用。

HTML

JS

有几点需要注意:

  1. 在这个例子中,“infoNothing”模板上的渲染函数在所有其他函数之前被调用。

  2. 他在 Avital 的github存储库中使用的方法是“Items = new Meteor.Collection("items", {connection: null});” 它确实适用于“infoNothing”模板,但是如果我使用更典型的连接,那么它会失败。

希望这将为新的渲染功能提供一些见解。如果我有任何问题或有人获得了更好(更有经验)的信息,请发表评论。谢谢

0 投票
2 回答
1949 浏览

meteor - Blaze 升级后 pathFor 参数不再起作用

我将流星 0.7 更新为 0.8,将铁路由器 0.6.2 更新为 0.7.0,并添加了 blaze-layout 0.2.2。

以前我有 pathFor 使用两个参数。剥离到它看起来像这样的基本部分:

更新后 pathFor 只返回模板的 url,参数没有做任何事情。我还可以显示变量,一切都正确显示:

如果我只是尝试使用设置了 _id 的数据上下文,结果不会发生变化:

任何想法将不胜感激!

0 投票
6 回答
6326 浏览

meteor - 现在如何使用 Blaze 在 Meteor 模板中的动态字段上使用 X-editable?

我在 Meteor 0.7.2 中有x-editable工作,但自从升级到 0.8.0 后,它不再正确渲染。我倾向于以一堆空标签结束。这是令人沮丧的,因为数据就在那里,只是在渲染函数被触发时还没有。

我已经尝试了将 this 嵌入到另一个模板中的“新”渲染方法,如此处所述它似乎也不起作用。

现在使用 x-editable 的最佳方法是什么,它只触发一次并且不能确保数据在那里。

我正在使用 Iron Router 并且我的模板没有嵌入到 {{#each}} 块中,这似乎是新渲染模型的基本解决方案。

这个问题与这个关于流星模板中的 x-editable 的旧主题有关。

任何帮助都将在这里非常感激。我很茫然。谢谢

0 投票
0 回答
297 浏览

javascript - 用于 Adob​​e Edge Animate 的 Meteor.js 移植

我刚刚在 Adob​​e Edge animate 中创建了一个模板,导出的文件如下:

“index.html”文件在头部加载“/index_edgePreload.js”,进一步加载“/edge_includes/edge.3.0.0.min.js”、“/edge_includes/jquery-2.0.3.min.js” , '/index_edge.js' 和 '/index_edgeActions.js'

这是示例模板代码:https ://github.com/praneybehl/Adobe-Edge-sample-template

有人可以建议如何让这段代码在 Meteor 模板中运行吗?

在此先感谢,普拉尼

0 投票
1 回答
865 浏览

meteor - 是否可以在 MeteorJS 中使用第三方 UI 小部件?

我刚刚发现 MeteorJS 框架,它的创新概念对我很有吸引力。实时无缝更新非常有价值。他们新的 Blaze 布局引擎似乎也非常引人注目。最重要的是,对我来说主要的吸引力在于 Meteor 是一个完整的堆栈解决方案,这意味着,为了实现现代 Web 应用程序,不需要任何其他东西。话虽如此,我还是找不到一个完整的 Meteor 应用程序示例,它具有顶级抛光 UI。我的问题是:是否可以/支持/推荐在 Meteor 生态系统中使用第三方 Web UI 小部件,如 KendoUI?诚然,我只关注 Meteor 1.5 天,但我想知道 - 任何第三方 Web UI 小部件如何适应反应模板的概念/实现 - 即双向绑定?

0 投票
1 回答
434 浏览

javascript - 包含函数的返回值中预期为 null 或模板

我正在从头开始在我的 Meteor 应用程序中开发用户注册/登录功能。我基于本教程:https ://waaave.com/tutorial/meteor/design-a-complete-authentication-system-with-meteor/

当我尝试重置密码时,我收到此错误(单击电子邮件中的重置密码链接后):

到目前为止,我发现它可能是新的 Meteor 模板系统故障 - Blaze,当返回无值的 null 时 - 任何人都知道如何解决这个问题?请帮忙。

我找到了这个链接 - 也许它会帮助有人帮助我:):

http://www.meteorpedia.com/read/Blaze_Notes