Вот мой контроллер...
'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
возвращается в исходное состояние только с двумя объектами. Как я могу это решить?
Используйте шаблон 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
}
})