Начинающий вопрос: Я работал над учебником Try Meteor. У меня есть поля в моем HTML-документе, поддерживаемые вспомогательными функциями, которые ссылаются на коллекции, и BOOM -> поля обновляются, когда данные изменяются в БД.В Метеор, где я смогу моделировать свои бизнес-правила?
С помощью флажка «Скрыть завершен» я также видел привязку данных к переменной сеанса. Состояние флажка хранится в объекте Session обработчиком события, а BOOM -> автоматически обновляется представление списка его помощником при изменении этого значения. Кажется немного странным назначать объект сеанса в одностраничном приложении.
Через все это мой js ничего не назначает в глобальной области видимости, я не создал никаких объектов, и я в основном видел только код конвейера, получая значения из одного места в другое. Маленькая условная логика распыляется там, где она нужна.
ВОПРОС ... Теперь я хочу построить модель своих бизнес-данных в javascript, моделировать свои бизнес-правила, а затем привязать html-поля к этой модели. Например, я хочу смоделировать пользователя, предоставив ему свойство isVeryBusy и правило, которое устанавливает isVeryBusy = true, если noTasks> 5. Я хочу, чтобы свойство и правило были изолированы в «чистом» бизнес-объекте, вдали от помощников , события и объект пользователя метеора. Я хочу, чтобы эти бизнес-объекты были доступны повсюду, поэтому я мог бы сделать ограничение, скажем, не назначать задачи для пользователей, которые очень заняты, навязаны на сервере. Мне также может потребоваться, чтобы правило отображения отображало только первые 100 символов задач других людей, если пользователь isVeryBusy. Где подходящее место для создания этого пользовательского объекта и как мне привязываться к нему из моего HTML?
Фактически, 'Session' является глобальным реактивным словарем.Ваш вопрос очень широк, хорошие ответы будут очень длинными (объяснение того, как добавлять поля к объекту пользователя, как их публиковать, просматривать/редактировать, реагировать на них в вызовах методов, ограничивать возможности пользователей с помощью этих методов, ...). Пожалуйста, сушите свой вопрос до одной, четкой, идентифицируемой проблемы. Например, первая проблема в вашем вопросе несколько «Как добавить ограничения на обновления профиля пользователя»? для «очень занятого» ограничения. Вы также можете спросить, как автоматически публиковать поле «isVeryBusy» через агрегацию. –
Мне не хватало места в моем предыдущем комментарии. Вот некоторые ссылки обо всем этом: [Session] (http://docs.meteor.com/#/full/session), [реактивные переменные] (http://docs.meteor.com/#/full/reactivevar_pkg) , [Mongo aggregations] (http://docs.mongodb.org/manual/reference/operator/aggregation/). Когда у вас много вопросов, часто лучше начинать делать вещи самостоятельно или, по крайней мере, спрашивать их один или два за раз. О, а также это своего рода стена с текстом. Горизонтальные линии и пространства помогают в этом отношении. –
Извините, я позволил себе немного поехать. Я закрепил вопрос, и теперь я посмотрю на связанную информацию. Я удивлен, узнав, что мне может понадобиться плагин manuel: viewmodel для привязки к переменным? – bbsimonbb