我從1-2周開始閱讀和觀看有關流星的教程。我已經瞭解瞭如何構建關於服務器和客戶端代碼,帳戶,安全等的流星應用程序。 我無法弄清楚: 我在哪裏正確計算邏輯?流星 - 在哪裏正確計算方法
例如: 用戶將數據的形式,並將數據保存在數據庫中。根據這個輸入數據,我想通過放置數據來做幾次計算,讓我們說大約20個方法的鏈接,最後顯示一些結果。
目前,我都在Template.displayResults.helper是裏面的文件,這些方法。 當我把它們放在另一個文件中時,它們沒有被識別,我想是因爲流星放置的包裝。
例子:我有DIY項目的集合,每個項目有一個字段與那些有neccessary該項目公用事業的數組。
Projects = new Mongo.Collection('projects');
/*
exampleProject = {
"name": "Kitchen table",
"utilities": ["Hammer", "Glue"]
}
*/
我想顯示取決於用戶已籤公用事業所有可能的DIY項目。
的UI擁有一批通過用戶複選框可以選擇一堆他要用工具。 這些值保存在一個集合中。
Utilities = new Mongo.Collection('utilities');
/*
exampleUtility = {
"name": "Hammer",
"checked": true
}
*/
然後我想計算出可能的項目...
Template.displayResults.helpers({
projectsPossible: function() {
var utilitiesCheckedDB = Utilities.find({
checked: true
}).fetch();
var projectsAll = Projects.find().fetch();
return projectsPossible(utilitiesCheckedDB, projectsAll);
}
});
// Returns an array of all possible projects depending on the selected utilities
function projectsPossible(utilitiesCheckedDB, projectsAll) {
var result = [];
_.each(projectsAll, function (project) {
if (project.utilities.length === _.intersection(project.utilities, checkedCheckboxesList(utilitiesCheckedDB)).length) {
result.push(project);
}
});
return result;
}
// Returns an array of all checked utilities in the current checkbox database
function checkedCheckboxesList(checkedCheckboxesDB) {
var result = [];
_.each(checkedCheckboxesDB, function (checkbox) {
result.push(checkbox.name);
});
return result;
}
的問題是:有更多的方法,如 「projectsPossible」 和 「checkedCheckboxesList」。我在哪裏把這些方法得到一個好的結構?
在此先感謝! Vin的
能否請您提供一個[小例子(http://stackoverflow.com/help/mcve)能重現問題(或者至少將代碼添加到您的問題)? –
問題已更新! –