Ich lerne Meteor und ich versuche, eine Box für eine Aufgabe zu überprüfen und wiederum JQuery den Text streichen, wenn es überprüft wird. Ich habe Helfer an Ort und Stelle, die zeigen mir Daten, wie ich es will und auch Event-Handler, so dass wenn das Inout überprüft wird aktualisiert es die db.Meteor Klopftext im Element, wenn überprüft
Was ich will, ist in der Lage zu testen, ob die db sagt "abgeschlossen" und wenn ja, streichen Sie die ein Tag-Text. Ich habe einen Helfer dafür geschrieben, bin mir aber nicht sicher, wo in der Vorlage der Helfer steckt. Ich würde auch gerne wissen, ob zum Zeitpunkt der Überprüfung der Box und der Aktualisierung der Datenbank die Vorlage aktualisiert wird, wenn sich die Datenbank ändert.
Hier ist mein Code:
<template name="item">
<div class="left" style="border-bottom:1px solid lightslategray;border-radius:.2em;">
<div class="left"><!--left-->
<li>
<input class="items js-checked" id="checked" type="checkbox">
</li>
<li>
<a href="#" class=" items js-update-task-form js-complete">
{{task}}
</a>
</li>
<div class="clear"></div>
</div>
<div class=" right "><!--right-->
<li class="items"><span class="label-position due">{{due}}</span></li>
<li><span class="label label-info items priority-position {{priority}}"
id="{{priority}}">{{priority}}</span></li>
<li>
<button type="button" class="label label-info trash js-delete-task"><span
class="glyphicon glyphicon-remove"></span></button>
</li>
</div>
<!--<div class="clear"></div>-->
</div>
Und hier ist der Helfer für die Vorlage:
items: function() {
var priority = $("#priority_sorter").val();
/// TODO fix so this can be sorted by 'completed' as well
var priority_val = Session.get('priority');
var user = Meteor.user()._id;
/// Filter by Priority
if (priority_val === "All Tasks") {
//console.log("First IF priority set to ", priority_val);
return Items.find();
} else {
//console.log("Else statement priority value is "+ priority_val+ ". With User ID "+ user);
return Items.find({owner: user, "priority": priority_val}, {sort: {"created": -1}});
}
},
isComplete: function(){
var task = Items.thisId.checked;
if(Items.thisId.checked === 'complete'){
console.log("Checked confirmed for "+ task);
$('.js-complete').wrap("<strike>");
}
},
Arbeitete perfekt. Ich machte das den langen Weg herum. Danke vielmals. –
@OscarDulzaides freut sich, Ihnen behilflich zu sein! Sehen Sie sich den Meteor Guide, http://guide.meteor.com/blaze.html und die Dokumentationsseite http://docs.meteor.com/ für detaillierte Best Practices an. Die Foren, https://forums.meteor.com/, sind ein großartiger Ort zum Hangout. – tsega