当与query-params一起使用时,Ember .observe()返回两次回调

时间:2014-05-23 07:25:32

标签: ember.js observers query-parameters

http://jsbin.com/vowup/2

如果我点击更改为随机,则在控制台中编程两次。

由于某些奇怪的原因,将修订变量设置为字符串时可以正常工作,但是对于数字或任何其他类型的变量记录两次

1 个答案:

答案 0 :(得分:1)

将您的代码更改为此,答案将变得清晰:

  toggleHistory: (function() {
    console.log(this.get("revision"));
  }).observes("revision")

您将看到如下输出:

0.7038348997011781
"0.7038348997011781"

您的号码被强制转换为字符串。这是由这一行引起的:

queryParams: ["revision"]

查询系统正在侦听更改并将每个新值转换为字符串,因此它可能显示为URL的一部分。这就是为什么你得到两个改变的事件。