Как вызвать только одну ng-модель в angularjs

Прежде всего, я просто хочу извиниться за мой запутанный вопрос. Я действительно не знаю, какое название подходит для моей проблемы, потому что я новичок в angularjs. Кстати, я делаю веб-портал, используя angularjs, и одна из функций моего веб-портала заключается в оставить отзыв и ответить на него! Когда посетитель сайта отправит отзыв, администратор рассмотрит его и прокомментирует этот отзыв. Например, уже есть 10 сообщений, поэтому я отображаю их, используя MySQL запрос. Как это:

$query = "SELECT * FROM tblfb WHERE fb_status = 1 ORDER BY fb_id DESC";
...
while($row = mysqli_fetch_array($res)){
echo "<h5>".$row['fb_sender']."</h5>
<p>".$row['fb_content']."</p>
<input type='text' ng-model='fbReply' id=".$row['fb_id'].">
";
}

В этом коде выше, он работает отлично, и он отображает все сообщения, которые были утверждены, но у меня есть проблема при вводе комментария в fbRelpy model, Когда я начинаю печатать, все textboxes был наполнен тем, что я напечатал! Я имею в виду, что, если я набрал текст в первом текстовом поле, он также применяет текст во всех текстовых полях. Может быть, потому что у них есть все ng-model значение. Что я должен делать? Заранее спасибо. Пожалуйста, поймите меня о моем название вопроса.

1

Решение

Проблема в том, что все входы имеют одинаковое название модели. Вы дали другую модель, чтобы различать их. Ты можешь использовать 'fbReply{{'+$row['fb_id']+'}}' , С помощью фигурных скобок вы получите входные данные в виде массива объектов.

$query = "SELECT * FROM tblfb WHERE fb_status = 1 ORDER BY fb_id DESC";

while($row = mysqli_fetch_array($res)){
echo "<h5>".$row['fb_sender']."</h5>
<p>".$row['fb_content']."</p>
<input type='text' ng-model='fbReply{{'+$row['fb_id']+'}}' id=".$row['fb_id'].">
";
}
1

Другие решения

Вы получаете эту проблему, потому что вы используете одну и ту же модель ng для каждого комментария.

Возможное решение — прикрепить уникальную ng-модель для каждого комментария. Вы можете сделать это, используя комбинацию вашего идентификатора и идентификатора fb. ng-model='fbReply' + .$row['fb_id'].

0

Вы должны создать массив ng-модели, вы должны определить вашу ng-модель в вашем контроллере следующим образом

 fbReplay ={}

И ваш код что-то вроде ниже здесь

$query = "SELECT * FROM tblfb WHERE fb_status = 1 ORDER BY fb_id DESC";
while($row = mysqli_fetch_array($res)){
echo "<h5>".$row['fb_sender']."</h5><p>".$row['fb_content']."</p>
<input type='text' ng-model='fbReply['+$row['fb_id']+']' id=".$row['fb_id'].">";
}
0