Прямо сейчас у меня есть два маршрута в моем приложении. Есть основной маршрут страницы, в котором есть список идей (только текстовые элементы), а затем есть маршрут для показа и редактирования идей.Iron Router Получить текущий товар?
Моя проблема заключается в редактировании идей ... Я не уверен, как на самом деле получить отредактированный элемент и сохранить изменения. Я мог бы использовать глобальную переменную, но это почти наверняка взломать, а не «метеорный путь» (или правильный путь в любом программном обеспечении, если на то пошло.) Я мог бы использовать Session
, но это не кажется мне совершенно правильным либо ... у меня сложилось впечатление, что Session
был только для визуальных вещей
так вот соответствующий код, который я до сих пор (например, пряча вещи временно.):
Router.route('/idea/:_id', function() {
var idea = Ideas.findOne({_id: this.params._id});
// Should I save this.params._id in a Session?
// Is that "the meteor way"?
this.render('ShowIdea', {data: idea});
}, {
name: 'idea.show'
});
Template.ShowIdea.events({
"input div": function (event) {
var newText = $(event.target).text();
console.log("newText: " + newText);
// this event gets called at the right time, and I can see the new text,
// but how do I know which item to save it on?
}
});
Не так много, чтобы увидеть в шаблоне , но вот оно:
<template name="ShowIdea">
<div contentEditable="true">{{text}}</div>
</template>
Кроме того, два вопроса:
1 - Есть $(event.target).text()
лучший способ извлечения нового текста? Я не мог думать ни о чем другом, но мне кажется, что он немного утомлен.
2 - Есть ли какая-то исчерпывающая документация для Iron-Router? Я вижу QuickStart и руководство, но, похоже, для него нет прямого списка объектов и методов.
Спасибо, я не понимал, что 'this' будет ссылаться на экземпляр' idea'. Я немного изменил ваш код ... Я почти уверен, что '{_id: this._id}' такой же, как 'this._id'. Я попробовал оба и не видел никакой разницы, и эта страница Try Meteor просто использует 'this._id' в своем' update() ': https://www.meteor.com/try/5 – ArtOfWarfare
Я не помню синтаксис селектора без фигурных скобок для идентификатора. – Guillaume
Теперь у меня есть какое-то смешное поведение из-за того, что редактирование моего div приводит к изменениям в моей базе данных, что вызывает изменения в моем div.Есть ли встроенный способ справиться с этим в Meteor, о котором вы знаете, или мне придется самому справиться с этим (не слишком сложно справиться, просто из того, что я видел до сих пор, Meteor имеет тенденцию для того чтобы иметь довольно обширный комплект включенных батарей.) – ArtOfWarfare