В настоящее время я использую Meteor 0.9.2.2. Я пытаюсь лучше понять, как создать форму в Meteor + Famous, не помещая каждый элемент формы в поверхность Famous.
Я использую "gadicohen:famous-views 0.1.7" и "mjnetworks:famous 0.2.2"
Я использую https://github.com/gadicc/meteor-famous-views. и посмотрели на некоторые образцы событий. Я могу генерировать события в представлении, но, похоже, потерял возможность генерировать события с помощью Jquery (вероятно, известные тревожные звонки) для полей в шаблоне.
(Обратите внимание, что я попытался выполнить Какой рекомендуемый способ получить данные в ваш шаблон метеора из внешнего интерфейса для известной поверхности? но это просто направило меня к примерам, которым я следую - извините, все еще застрял)
Например, если бы я хотел иметь событие «размытие», когда поле, доступное для редактирования, изменилось и использовало его для обновления базы данных, я не уверен, как мне это сделать.
Кстати, я загружаю шаблон через Iron-router:
this.route('someTemplate', {
path: '/',
});
Вот пример кода того, с чем я играл:
<template name="someTemplate">
{{#Scrollview target="content" size="[undefined,100]"}}
{{#Surface class="green-bg"}}
<h4 id="main-edit-title" class="editable" data-fieldname="title" data-resourceid="{{_id}}" contenteditable=true>Heading</h4>
<p id="main-edit-message" class="mediumEditable editable" data-fieldname="message" data-resourceid="{{_id}}" contenteditable=true>Summary</p>
{{/Surface}}
{{/Scrollview}}
</template>
Template.someTemplate.events({
'blur .editable': function (e) {
e.preventDefault();
//e.stopPropagation();
var item = $(e.currentTarget);
DO SOME UPDATE STUFF TO THE DATABASE
item.removeClass('resourceUpdated');
},
});
Я тоже посмотрел на «знаменитые события» и, похоже, не смог заставить это работать. Т.е. никакие события не запускались, и это было бы только на уровне поверхности, а не на уровне поля.
На уровне просмотра у меня все было в порядке, и код ниже работал нормально:
Template.someTemplate.rendered = function() {
var fview = FView.from(this);
var target = fview.surface || fview.view._eventInput;
target.on('click', function() {
clickeyStuff(fview);
});
}
Я попробовал другие варианты с этой страницы: https://famous-views.meteor.com/examples/events
Таким образом, основные вопросы, я думаю, таковы: должен ли я перемещать каждый элемент формы на Famous Surface? Это был бы убийца. Я надеюсь, что смогу использовать Jquery или получить доступ к DOM для вещей в шаблоне. Обратите внимание, что я вижу в часто задаваемых вопросах о знаменитостях http://famo.us/guides/pitfalls, что говорит не трогайте DOM... так рад узнать, как еще я должен это делать???