我有一些类似于以下代码:
在myapp.html中
<template name="problems">
<div class="problems">
{{#each problems}}
{{> problem}}
{{/each}}
</div>
</template
<template name="problem">
<div class="problem">
<div class="problem-text" id={{_id}}>{{text}}</div>
</div>
</template>
Run Code Online (Sandbox Code Playgroud)
在myapp.js中
Template.problem.events = {
'click .problem-text' : function () {
var user_id = Session.get('user_id');
// how to get problem_id of clicked item?
Router.gotoProblem(user_id, problem_id);
}
};
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我想获得匹配的.problem文本的id并被点击.
我想知道产生这个事件的"对象"?我该怎么做呢?
Hit*_*shi 19
这个问题的选定答案只会获得_id,如果_id在模板中使用的话也是如此.
所以更好的使用,event.target将给出COMPLETE对象.这样可以与jQuery或MooTools一起使用.
Template.top_nav.events({
'mousedown, .nav li a': function(evt){
console.log('the class of object that was clicked is ' + $(evt.target).attr("class"));
}
})
Run Code Online (Sandbox Code Playgroud)
试试这个:
Template.problem.events = {
'click .problem-text' : function () {
var user_id = Session.get('user_id');
// how to get problem_id of clicked item?
Router.gotoProblem(user_id, this._id);
}
};
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用以下引用访问问题对象:
Template.problem.events = {
/**
* Handles problem text click.
* @param {jQuery.Event} event
*/
'click .problem-text' : function (event) {
/*
Here this is a reference to the problem object
and you have jQuery.Event object as the event argument.
*/
console.log(this, arguments);
var user_id = Session.get('user_id');
var problem = this;
// how to get problem_id of clicked item?
Router.gotoProblem(user_id, /** problem_id */problem._id);
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11509 次 |
| 最近记录: |