Я новичок в AngularJS, и у меня есть проблема с нажатием на массив внутри JSON. (Я надеюсь, что я использую правильную терминологию)Нажатие на JSON внезапно не работает
//I have a JSON that looks like this
var items = [
{name:[
{names: 'John', msg:[""]}, {names: 'Dolly', msg:[""]}
]}
];
Ниже код находится внутри контроллера:
$rootScope.items = People.list();
$rootScope.name = "John";
for(var i=0;i<$rootScope.items.name.length;i++)
{
if (name== $rootScope.items.name[i].names)
{
People.addcomment(user.comment,i);
}
}
Ниже кода в моей службы под названием 'Люди':
this.addcomment = function(comment,x) {
items[0].name[x].msg.push(comment);
}
this.list = function() {
return items[0];
}
JSON объявляется в сервисе. HTML-код, как показано ниже:
<textarea placeholder="Enter comment" ng-model="user.comment"></textarea>
<button ng-repeat = "x in items.name" ng-if="name==x.names"
ng-click="addcomment(user,name)">Submit</button>
Теперь моя проблема заключается в том, что по нажатию на кнопку «Отправить», то «сообщение» Я набрал в teaxtarea не получает хранится в «сбщ» массив, соответствующий «Джон» (внутри JSON). Что происходит не так?
У меня был весь код Службы внутри Контроллера ранее, и код работал правильно. Полагаю, что я, должно быть, ошибся с аргументами, которые передаю функции в службе.
Может кто-нибудь, пожалуйста, помогите мне?
Я вижу, что ваша служба 'People' имеет функцию' list', которая возвращает 'items [0 ] ', но возвращает ли ваша служба эту функцию' list'? –
ОК, я не понимаю, что вы говорите :) Как служба может вернуть функцию? – Anusha
Нет проблем. В AngularJS для возврата объектов требуются службы. Я отвечу в ответе. –