Как поместить значение из JSON API в директиву шаблона Angular

#javascript #jquery #angularjs #json

#javascript #jquery #angularjs #json

Вопрос:

я новичок, и я хочу спросить.

я хочу получить некоторое значение из JSON API (title, course_id и т. Д.) И поместить значение в мой шаблон с помощью директивы. таким образом, в Index я могу повторить свой tempalate с данными из API.

Как получить значение из этого JSON?

Это мой код :

мой API

 {
"count": 1,
"next": null,
"previous": null,
"results": [
    {
        "url": "http://192.168.1.37:8000/api/courses/a/",
        "title": "I Love You",     <-- I want to put this Value to my Template
        "course_id": "1",
        "starting_date": "2016-10-03"
    }
           ]
}
  

Контроллер demo.js

 demo.controller("demo", function($scope, $http) {
$http.get('http://192.168.1.37:8000/api/courses/'). <-- Data From my API
    then(function(response) {
        $scope.courses = response.data;
    });


    });

demo.directive("demoItemDirective", function() {
   return {
        scope : { demoInfo : "=info"},
        templateUrl : "/app/demo.tmpl"   <-- My Template
    };
   });
  

Мой шаблон demo.tmpl

 <p>{{demoInfo.count}}</p>                <-- Works, count Displayed
<p>{{demoInfo.results.title}</p>         <-- Not works, title not displayed
  

Мой Index.html

    <div ng-repeat="group in courses | groupCount:2">
   <div ng-repeat="x in group">
        <demo-item-directive info="x"></demo-item-directive>
   </div>
   </div>
  

Ответ №1:

Это должно быть

 <p>{{demoInfo.results[0].title}</p>  
  

Ваш результат содержит массив объектов.

Вам нужно получить доступ с помощью индекса.

Ответ №2:

Согласно вашему сообщению, result это массив:

 "results": [
    {
        "url": "http://192.168.1.37:8000/api/courses/a/",
        "title": "I Love You",     <-- I want to put this Value to my Template
        "course_id": "1",
        "starting_date": "2016-10-03"
    }
]
  

Таким образом, вы не можете ссылаться на title сам, вы должны ссылаться на первый элемент:

{{demoInfo.results[0].title}}

Комментарии:

1. Спасибо, приятель, это работает!