我是一個新的角度,我有一個關於角度ajax調用的問題。Angular js - 指令和ajax調用
我很擔心在我的指令後觸發的服務調用。我無法讓它正常工作。該代碼與控制器中的硬編碼json數據協同工作,但idont知道如何將服務/工廠設置爲遠程服務。
這裏是我的硬編碼json的工作示例。 代碼解釋: 我有我的視圖中的項目列表,並希望顯示一個工具箱,懸停每個項目。我使用Jquery.qtip.js來做到這一點。 我使用指令來顯示工具箱並從控制器json中獲取內容。當你想使用該服務/工廠來獲得遠程數據(在功能getcurrentbooklist只是whant做一個標記在名稱相同的toolboxlist。)
var listControllers = angular.module('listControllers', []);
listControllers.controller("StartCtrl", function ($scope) {
$scope.booklist = [
{ name: 'John', age: 25, gender: 'boy' },
{ name: 'Jessie', age: 30, gender: 'girl' },
{ name: 'Johanna', age: 28, gender: 'girl' },
{ name: 'Joy', age: 15, gender: 'girl' },
{ name: 'Mary', age: 28, gender: 'girl' },
{ name: 'Peter', age: 95, gender: 'boy' },
{ name: 'Sebastian', age: 50, gender: 'boy' },
{ name: 'Erika', age: 27, gender: 'girl' },
{ name: 'Patrick', age: 40, gender: 'boy' },
{ name: 'Samantha', age: 60, gender: 'girl' }
];
$scope.gettooltips = function (bookid) {
return getcurrentbooklist(bookid, $scope.booklist);
}
});
listControllers.directive('qtip', function() {
return {
restrict: 'A',
link: function (scope, element, attrs) {
element.qtip({
content: {
text: scope.gettooltips(attrs.qtip)
},
position: {
my: 'bottom center',
at: 'top center'
},
hide: {
fixed: true,
delay: 300
}
});
}
};
});
var getcurrentbooklist = function (name, arr) {
var rettext = "<ul>";
for (i = 0; i < arr.length; i++) {
if (name== arr[i].name) {
rettext += "<li>" + arr[i].name + " - mark </li>";
} else {
rettext += "<li>" + arr[i].name +"</li>";
}
}
rettext += "</ul>";
return rettext;
};
感謝
的問題是,該指令Ajax調用,因爲之後不會填充$ http在指令 – theonealf