היי,
התחלתי ללמוד אנגולר ונתקלתי בבעיה שאני לא מצליח להבין מאיפה היא מגיעה.
אני מנסה לעשות רשימה עם ng-repeat והמידע שאני מקבל מגיע כרשימה של אובייקטי JSON מהשרת (באמצעות ajax), הרשימה היא אכן רשימה (גם כי ה-ng-repeat עובד וגם כי isArray מחזירה TRUE).
הענין הוא שהמידע מגיע לצד לקוח בתור רשימה של מחרוזות, אם אני בפונקציה של ה-success עושה JSON.parse על מחרוזת בודדת אני מצליח לגשת למידע הרלוונטי, לעומת זאת אחרי שזה עובר ב-ng-repeat זה לא עובד.
כלומר בקוד הבא ה-alert עובד ומציג את המידע שאני מצפה שיציג
קוד: |
$http.get('/movies/strings.php')
.then(function (response) {
$scope.my_strings = response.data;
alert(JSON.parse(response.data[0]).str);
}, function (response) {
console.log("data: " + response.data + "\n" + "status: " + response.status);
});
|
לעומת זאת הקוד הבא לא מציג את המידע שיש בתוך str של ה-JSON
קוד: |
<li data-ng-repeat="item in my_strings">str is: {{ item.str }}</li> |
וזה לא משנה אם אני שם JSON.parse(item).str. זה לא עוזר
אגב, אם אני מציג את item בלבד ללא גישה ל-STR אז אני מקבל את המחרוזת שאני מצפה לקבל של JSON.
למישהו יש רעיון?