1
我使用流星1.3.1,和我做了一些實驗,以獲取在事件監聽器塊的數據上下文,這裏是我的代碼:獲得的流星模板事件處理程序正確數據上下文
var objs=[
{ a:"a1", b:"b1", yes:true },
{ a:"a2", b:"b2" },
{ a:"a3", b:"b3", yes:true },]
Template.tt.helpers({
objs: objs
})
Template.tt.events({
'click .b'(event, template) {
\t console.log(Template.currentData().a); //---> undefined
\t console.log(template.data.a); //---> undefined
console.log(Template.parentData(0).a); //---> undefined
\t console.log(this); //---> Window Obj
}
})
<template name="tt">
{{#each objs}}
<h1>a={{a}}, b={{b}}</h1>
{{#if yes}}
<button class="b">b</button>{{yes}}
{{/if}}
{{/each}}
</template>
我想要得到的a
鍵的值,但在幾個方面失敗。
非常感謝,它很奇怪,我沒有找到這個解決方法。那麼這是流星的一些有點bug嗎? – Nan
不是一個錯誤。在事件處理程序中,this是模板的數據上下文。如果沒有特定的數據上下文,則上下文就是窗口對象。 –