【问题标题】:How to use jQuery with Meteor framework如何在 Meteor 框架中使用 jQuery
【发布时间】:2014-08-16 21:57:22
【问题描述】:

我正在关注discovermeteor.com 教程,尝试发挥创意并添加我自己的东西。我想做的一件事是使用 jQuery 设置会话值以用作页面标题(但不确定这是否 100% 有意义)。

所以我一直在尝试在满足某些条件时触发 session.set on document ready,但它似乎不起作用。

我的代码示例:

Template.layout.helpers({
    pageTitle: function() { return Session.get('pageTitle'); }
})

jQuery(document).ready(function($) {
    if ( $('section#main').hasClass('postlist')) {
        Session.set('pageTitle', 'Posts list');
    };
});

那么,我的问题是,如何使用 jQuery 和 Meteor?我可以按照我习惯的方式使用 jQuery,还是有什么特别需要注意的?非常感谢

【问题讨论】:

  • 你为什么要把$作为loal范围内的参数,它必须是event,这就是它不起作用的原因。

标签: jquery meteor


【解决方案1】:

在 Meteor 中,我们不使用 $(document).ready,而应该使用等效的 Meteor.startup:

Meteor.startup(function() {
    if ( $('section#main').hasClass('postlist')) {
        Session.set('pageTitle', 'Posts list');
    };
});

【讨论】:

  • OP 代码中的$ 指的是jQuery。这不是一个事件
  • @undefined 但是当您在函数中将参数作为$ 时,全局jquery 的$ 将被参数替换。如果我错了,请纠正我。
  • 这不正确。就绪处理程序中的$(或第一个参数的任何其他名称) 是一个局部变量,它仅覆盖全局$在该上下文中,它被使用为了避免与使用$ 的其他库发生冲突。它是 noConflict 方法将 $window 对象中分离出来。 api.jquery.com/ready
  • @undefinedthanx 的评论,我不知道我的答案是由 saimeunt 更新的,
  • 看来(不幸)编辑和 cmets 混淆了 OP,他问了另一个问题。
猜你喜欢
  • 2012-11-04
  • 1970-01-01
  • 2012-09-29
  • 2017-11-16
  • 2015-01-22
  • 2014-02-10
  • 1970-01-01
  • 2017-12-29
  • 1970-01-01
相关资源
最近更新 更多