例如我有这样的事情:
post_form.js:
Template.postForm.events({
"input #input-content": function() {
var words, wordsNumber;
Posts.update(this._id, {
$set: {
content: $("#input-content").html()
}
});
words = $("#input-content > p").map(function() {
$.text(this);
}).get().join(" ");
wordsNumber = words.trim().split(" ").length;
$(".post-words-number").html(wordsNumber);
}
});
post_list.js:
Template.postList.events({
"click .open-post": function() {
var words, wordsNumber;
if (this.content) {
$("#input-content").html(this.content);
} else {
$("#input-content").html("");
}
words = $("#input-content > p").map(function() {
return $.text(this);
}).get().join(" ");
wordsNumber = words.trim().split(" ").length;
return $(".post-words-number").html(wordsNumber);
}
});
你可以看到:
words = $("#input-content > p").map(function() {
return $.text(this);
}).get().join(" ");
wordsNumber = words.trim().split(" ").length;
return $(".post-words-number").html(wordsNumber);
重复两次。如何为这段代码创建一个帮助器,以便我可以在这两个模板中重用它?我应该把它放在哪里?
答案 0 :(得分:1)
您想要的任何地方!当然,只要它在客户端。文件确实可以看到对方,因此可以从任何其他文件中访问一个写在一个文件中的代码。
所以,例如:
<强> /client/app.js 强>
App = {};
App.doSomething = function(template) {
...
};
<强> /client/views/post_list.js 强>
Template.post_list.events({
'click .clickable': function(e, t) {
App.doSomething(t);
...
},
});