Ich versuche mit einem Objekt-Array zu arbeiten, die ich unter zwei Controllern teilen, von denen einer mit modalen Fenster befasst ist.Sharing Objekt-Array zwischen den Controllern beim Arbeiten mit modalen Fenster in angularJS
Hier ist der JS-Code.
angular.module('MyApp', ['ngMaterial', 'ngMessages', 'material.svgAssetsCache', 'ui.bootstrap'])
.service('Faq', function ($http) {
this.faqList = [];
this.faqList = $http.get('/Json/faq.json');
this.getFaqs = function()
{
return this.faqList;
}
this.addfaq = function (obj) {
this.faqList.push(obj);
};
})
.controller('AppCtrl', function ($scope,$modal,Faq) {
$scope.faqData = [];
Faq.getFaqs().then(function (msg) {
$scope.faqData = msg.data;
});
}
$scope.show = function() {
$modal.open({
templateUrl: "faqAddUpdate.html",
controller: "faqctrl"
});
};
})
.controller('faqctrl', function ($scope, $modalInstance, Faq) {
$scope.question = '';
$scope.id = '';
$scope.answer = '';
$scope.editFaq = function (id) {
$scope.divFaq = true;
$scope.faqs = [];
Faq.getData().then(function (msg) {
$scope.faqs = msg.data;
var l = $scope.faqs.length;
for (var i = 0; i < l; i++) {
if ($scope.faqs[i].id == id) {
$scope.question = $scope.faqs[i].question;
$scope.id = $scope.faqs[i].id;
$scope.answer = $scope.faqs[i].answer;
}
}
});
};
$scope.AddUpdateFAQ = function() {
var faq = {
id: $scope.id,
question: $scope.question,
answer: $scope.answer
};
Faq.addfaq(faq);
console.log(faq);
$modalInstance.close();
};
$scope.Cancel = function() {
$modalInstance.dismiss();
};
});
aber wenn ich die Daten über den modalen vorlege sagt es this.faqList.push keine Funktion ist.
Obwohl es nicht das zeigt, Fehler, den es zuvor zeigte, wenn ich die Daten übergebe, aber JSON-Daten werden jetzt nicht angezeigt – Shahzad
Was ist in der 'Ergebnis' Variable in der Versprechen Callback? – etiennecrb
Ergebnis Variable würde JSON-Objekt-Array haben – Shahzad