【问题标题】:In knockout.js, why "this" is being assigned to "self"? [duplicate]在 knockout.js 中,为什么将“this”分配给“self”? [复制]
【发布时间】:2013-04-04 03:03:08
【问题描述】:

我正在学习 Knockoutjs 教程。有一件事我觉得很奇怪。我目前在第 2 部分:

http://learn.knockoutjs.com/#/?tutorial=collections

在每个“类”的这一部分中,“this”被分配给“self”。第一个不是这样吗?

为什么有人会这样做?是否只是编写特定代码的人对 python 上瘾了,或者这有什么实际好处?

【问题讨论】:

标签: knockout.js


【解决方案1】:

由于“this”根据上下文引用不同的对象,因此可以通过将特定对象分配给另一个变量来保存对特定对象的引用,例如“self”。

【讨论】:

  • 我还要补充一点,这真的不是一个淘汰赛特定的问题,它是一种经常使用的通用 javascript 开发模式(包括在节点中)。
  • 虽然这是真的,但在该示例中,淘汰赛的使用似乎是轻率的。没有上下文切换,您可以安全地将“self”更改为“this”,示例运行良好。也许他们这样做是因为本教程后面有上下文切换?
  • 是的,我认为它有时会成为一种习惯。
  • 教程中的computeds中需要使用self或者上下文不正确。 ko.computeds 确实需要第二个参数来指定上下文,因此可以使用任一模式编写它。这些计算结果将在本课后面介绍。
  • @MikeMurko 我不确定它们是否与他们的教程一致,因为我刚刚看到一个不使用自分配的教程。 learn.knockoutjs.com/#/?tutorial=custombindings希望 OP 有他的答案,尤其是 nemesv 评论中的第二个例子。
猜你喜欢
  • 2012-12-24
  • 1970-01-01
  • 2013-06-14
  • 2011-12-20
  • 2017-03-12
  • 2015-08-29
  • 1970-01-01
  • 2020-05-15
  • 1970-01-01
相关资源
最近更新 更多