Задать вопрос
@bioforge
Верстающий пыхер

Как организовать работу с Flux в Angular?

Всем привет! Помогите разобраться с flux.

1. Где совершать CRUD операции ?
Сейчас я делаю в action, но в интернетах пишут что там нельзя.
Мне не понятно почему не action, так как тут происходит общение с "миром". Каждое действие возвращает Promise, например для использования в resolve в ui-router.
Пример кода:
class TodoAction {

    constructor($http) {
        this.$http = $http;
    }

    loadList(params) {
        return this.$http.get('/todos', {
            params: params
        }).then((response) => {
            AppDispatcher.dispatch({
                actionType: TodoConstants.todo_LIST_LOAD,
                todos: response.data.todos
            });
            return response.data.todos;
        })
    }

    create (todo) {

        return this.$http.post('/todo/save', {
            todo_data: todo
        }).then((response) => {
            AppDispatcher.dispatch({
                actionType: TodoConstants.todo_CREATE,
                todo: response.data.todo
            });
        })
    }

}


2. Я верно понимаю что один store для одного типа данных ?
Например, если у нас есть страница со списком задач и страница задачи, то получается два store ?
Если так, то список задач не может сам сохраняться, это будет происходить через store задачи. В свою очередь, store задачи будет общаться со списком задач и обновлять данные там... помоему что-то тут не так :(

3. Насколько я понял flux, то в нём store оповещают только о том что в них что-то изменилось, а если нужно отследить конкретное действие ?
Например: есть select со списком, рядом кнопка "добавить". При клике на добавить открывается форма добавления. После успешного добавления, в список должен добавиться новый пункт и сразу быть выбран. Как это реализовать зная лишь о том что что-то изменилось, ведь измениться может что угодно.
07a4ebc573.png
  • Вопрос задан
  • 441 просмотр
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы