【发布时间】:2015-12-17 04:33:03
【问题描述】:
当 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
thisObject {} 是什么?
特别是,有没有办法可以使用它来发现哪个 HTML 元素触发了调用?
【问题讨论】: