Meteor Template帮助器中的“this”对象是什么?

时间:2015-09-20 11:31:59

标签: templates meteor

当Blaze调用Template.xxx.helper中定义的函数时,它会传递一个或多个参数。第一个参数是一个看似空的对象。它是什么?它可以用于什么?

以下是如何使用终端窗口重新创建我的准系统测试:

meteor create test
cd test
cat > test.html << EOF
<body>
  {{> test}}
</body>

<template name="test">
  <p>{{test1 "data"}}</p>
  <p>{{test2 key="value"}}</p>
</template>
EOF
cat > test.js << EOF
if (Meteor.isClient) {
  Template.test.helpers({
    test1: function (argument) {
      console.log(this, argument)
      return "test1 helper: " + argument
    }
  , test2: function (argument) {
      console.log(this, argument)
      return "test2 helper: " + argument.hash.key
    }
  });
}
EOF
meteor run

这是扩展哈希对象后在浏览器控制台中看到的内容:

Object {} "data"
Object {} S…s.kw {hash: Object}
  hash: Object
    key: "value"
  __proto__: Object__proto__: Spacebars.kw

什么是this Object {}? 特别是,有没有办法可以用它来发现哪个HTML元素触发了调用?

0 个答案:

没有答案