请教:代码中出现的“$set”和“&times”是什么东东?

2016-07-24 17:48:17 +08:00
 sphawkcn

小菜鸟在看这篇教程: https://www.meteor.com/tutorials/react/update-and-remove

代码片段如下:

toggleChecked() {
  Tasks.update(this.props.task._id, {
    $set: { checked: !this.props.task.checked },
  });
}
<button className="delete" onClick={this.deleteThisTask.bind(this)}>
  &times;
</button>

请问这里突然出现的“$set ”和“&times ”是怎么来的(前文无预先定义)?我应该去哪里学习相关的知识点? 还有一个疑问,这里的 bind()方法是谁提供的? JS 原生?还是 React 提供?为何还要传入一个 this ?

还请帮忙指点小菜鸟,谢谢。

6402 次点击
所在节点    JavaScript
7 条回复
raincious
2016-07-24 17:59:56 +08:00
&times 是 HTML 的符号(其实是乘号),看起来像 x
https://en.wikipedia.org/wiki/Multiplication_sign#In_computer_software

$set 则是 React 里的
shiny
2016-07-24 18:03:35 +08:00
$set 只是 JSON 的 key ,不是一个变量; &times; 是 HTML entities , 参见这个表格 https://dev.w3.org/html5/html-author/charref

bind 是 js 原生语法,多读一些 js 的书里有具体解释。
shiny
2016-07-24 18:04:21 +08:00
使用 bind 的原因是涉及 js 的作用域,这个是一个难点(敲黑板)
sphawkcn
2016-07-24 18:39:21 +08:00
谢谢各位老大指点,又学到了黑科技,谢谢。
otakustay
2016-07-24 18:54:31 +08:00
那个$set 十有八九是 immutable update 的方法,应该是 react update helper ,具体也可以参考我的一个类似的库: https://github.com/ecomfe/diffy-update/

react 的 update helper 的文档没这么详细: https://facebook.github.io/react/docs/update.html
zhouyg
2016-07-25 11:32:33 +08:00
$set 应该是 Task 的,类比 node mongo 里的 update 方法,就是用$set 来表示要更新的字段和值
sphawkcn
2016-07-25 11:38:23 +08:00
@zhouyg 那 Task 是谁的?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/294586

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX