Я определяю директиву в angularjs, у которых есть url для извлечения данных из базы данных. Я отображаю часть кода. моя директива:
app.directive('getData', function() {
return {
restrict: 'E',
scope: {
url: '@',
suggestion: '=data'
},
controller: ['$scope','$http', function($scope,$http){
$http.get($scope.url)
.success(function (data) {
console.log(data);// display data
$scope.Items = data;
});
})
template:
<li\
suggestion\
ng-repeat="suggestion in suggestions track by $index"\
</li>\
}
теперь, когда я создаю директиву, такую как это в html
<get-data url="/public/getEmployee" data="Items"></get-data>
но в нем нет данных, в то время как тот же код в контроллере управления находится в регуляторе угловой системы правильно.
Вы вызываете HTTP-запрос внутри директивы и получаете данные внутри директивы, поэтому вам не нужно передавать переменную suggestion
в области видимости.
Непосредственно используйте массив Items
в item in Items track by $index
шаблона item in Items track by $index
.
Изолированная переменная области, переданная в свойстве scope
, используется для получения данных из внешних зависимостей.
И ваше использование директивы должно быть
<get-data url="/public/getEmployee"></get-data>
getData
а вы используетеmy-directive
?