【问题标题】:Meteor js templates rendered vs onRenderedMeteor js 模板渲染与 onRendered
【发布时间】:2015-12-12 01:14:12
【问题描述】:

合作良好后

Template.name.rendered = function () { ...... }

我把它改成了:

Template.name.onRendered(function(){ ...... })

但是我没有相同的结果,我没有找到太多关于差异的文档,有人会帮助我吗?或者有人知道我在哪里可以看到差异?

【问题讨论】:

  • 你能多描述一下你正在经历什么样的不同行为吗?
  • 就像在 onRendered 中,数据没有像在渲染中那样立即到达,我必须刷新才能获得正确的数据,但也许我使用的方式错误(因为 api改变了),我想看看某个地方的差异,但我没有找到太多关于那个的文档:(
  • renderedonRendered没有区别,应该是同一个API。
  • 渲染已被弃用。使用Template.home.onRendered(// function)

标签: user-interface meteor version


【解决方案1】:

在 Meteor 1.0.4 中,rendered 被弃用并被 onRendered 取代:

将 onRendered、onCreated 和 onDestroyed 方法添加到 Template。对 Template.foo.rendered 等的赋值已被弃用,但仍支持向后兼容。 来源:History.md

如果您在使用 onRendered 时看到“错误”行为,请确保您使用的是 Meteor 1.0.4 或更新版本。

【讨论】:

  • 我正在使用 Meteor 1.2.1 并且 onRendered 根本不会触发,而 render 会:(
  • 嗨@PredragStojadinović,我发现了同样的问题。使用 onRendered 它根本不起作用。我正在使用一系列 collection.find 调用并使用 jquery 更新 DOM。渲染后它工作得很好。然后我发现了我的错误......我已经更改为 Template.name.onRendered = function () { ..... } ,只更改了 onRendered 的渲染,而不是像 Template.name.onRendered(function (){ ..... }) 。不使用“=”。改正后,它开始正常工作了。
猜你喜欢
  • 2014-12-08
  • 2014-12-12
  • 1970-01-01
  • 1970-01-01
  • 2015-09-15
  • 2016-01-05
  • 2015-06-11
  • 1970-01-01
  • 2016-11-13
相关资源
最近更新 更多