область не сохраняется при смене представлений

0

Вот мой контроллер...

'use strict';

    angular.module('funApp')
      .controller('MainCtrl', function ($scope, $http) {
        $scope.choice = null;
        $scope.addQuestionFeedback = '';
        $scope.questions = [];
        $scope.questions = [
            {
                question: "What is your favorite color",
                type: "color"
            },
            {
                question: "What is your favorite food",
                type: "food"
            }
        ];

        $scope.submit = function() {
            this.questions.push(this.addQuestion);
            $scope.addQuestionFeedback = 'Question Successfully Added!';
        }
      });

Проблема в том, что у меня есть представление, что вызывает submit() успешно, но когда я изменяю представления, объект, который я добавил в submit(), не сохраняется, а $scope.question возвращается в исходное состояние только с двумя объектами. Как я могу это решить?

Теги:

1 ответ

1
Лучший ответ

Используйте шаблон MVC. Сервисы (модели) содержат объекты, ваш контроллер просто похож на промежуток между вашими объектами и вашими взглядами. Большая часть работы, которая выполняется, обычно находится в ваших моделях. В угловых службах постоянно, когда контроллеры уничтожаются и воссоздаются, когда они больше не используются.

 angular.module('funApp')
      .controller('MainCtrl', function ($scope, $http, questions) {
    $scope.choice = null;
    $scope.addQuestionFeedback = '';
    $scope.questions = questions.questions;

    $scope.submit = function() {
        questions.questions.push(this.AddQuestion);
        $scope.addQuestionFeedback = 'Question Successfully Added!';
    }
  })

.factory('questions', function () {
  var questions = [
        {
            question: "What is your favorite color",
            type: "color"
        },
        {
            question: "What is your favorite food",
            type: "food"
        }
    ];


  return {
    questions = questions
  }
})
  • 1
    это правильный подход. Использование службы или фабрики для постоянных данных через контроллеры.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню