为什么Meteor todo教程在其方法属性名称中使用了一个点(例如,' tasks.insert')?

时间:2016-12-08 18:13:51

标签: javascript meteor ecmascript-6

我正在通过流星" todo"教程,我在部分" 9。方法安全":

https://www.meteor.com/tutorials/react/security-with-methods

Meteor.methods({
   'tasks.insert'(text) {  // <----- That bit right there!
      check(text, String);
      if (! this.userId) {
         // ...
      }

      //...etc...

我得到单引号,因为属性名称中有一个特殊字符。但我的问题是,这个特殊角色真的有必要吗?为什么不使用更简单的属性名称,例如&#34; tasks_insert&#34;所以不需要单引号?这只是一种风格选择,还是点语法很重要?

1 个答案:

答案 0 :(得分:1)

它是一种样式选择,表示它是属于insert模块的名为tasks的方法。没有必要使用点。

this指的是一个特殊的&#34;方法调用对象&#34;设置有用的变量:

来自http://docs.meteor.com/api/methods.html#Meteor-methods

  

在方法调用中,this绑定到方法调用对象,该对象提供以下内容:

     
      
  • isSimulation:布尔值,如果此调用是存根,则为true。
  •   
  • unblock:调用时,允许此客户端的下一个方法开始运行。

  •   
  • userId:当前用户的ID。

  •   
  • setUserId:将当前客户与用户关联的功能。
  •   
  • connection:在服务器上,收到此方法调用的连接。
  •