为什么事实上建议$$(这)保存状态?

时间:2011-11-03 01:53:33

标签: jquery couchdb couchapp evently

正如here所述,为了保存必须在不同事件中可访问的状态,建议使用$$(this),如下所示:

$$(this).filters = "myvalue";

该语法是什么意思?为什么$$(双倍美元)?为什么this?为什么()(括号)?

无论如何,那段代码对我不起作用。我必须使用类似的东西:

$.filters = "myvalue";

我想理解为什么第二种形式有效,第一种形式没有。

1 个答案:

答案 0 :(得分:1)

只需查看eventlly的源代码,$$只是jQuery的data方法的简写:

function $$(node) {
  var data = $(node).data("$$");
  if (data) {
    return data;
  } else {
    data = {};
    $(node).data("$$", data);
    return data;
  }
};

所以,简而言之 - 它会在jQuery为你的参数返回时调用data,如果没有附加数据,它会创建空对象,将其用作新的data并返回它。

$.filters = "myvalue"

这可以通过将值分配给全局jQuery对象来实现,而$$将数据附加到查询所代表的对象。