我想要做的最簡單的事情,AngularJS顯然使難以置信的困難。這裏更多問題與「易於學習」的angularjs框架
此代碼:
.factory('ItemService', [function() {
var items = [
{id: 1, label: 'Item 0'},
{id: 2, label: 'Item 1'}
];
return {
list: function() {
return items;
},
add: function(item) {
items.push(item);
}
};
變量的項目是在工廠的頂部聲明,並在return語句訪問。
那麼,爲什麼不這項工作:
.factory('ItemService', ['$http', function($http) {
var self = this;
self.items = [];
$http.get('/api_job_inspections/1/edit').then(function(response) {
//self.items = response.data;
self.items = [
{id: 1, label: 'Item 0'},
{id: 2, label: 'Item 1'}
];
}, function(errResponse) {
console.error('Error while fetching notes');
});
return {
list: function() {
return self.items;
},
add: function(item) {
self.items.push(item);
}
};
我一直在使用VAR項目試圖= []像在第一個例子,但沒有得到恢復。使用這個語法什麼都不會返回。爲什麼?似乎有一個範圍問題,但它是什麼?
預先感謝您...
當你期待的東西被退回? – 2014-10-31 08:43:17
如果您想使用此服務,請使用服務代替工廠 – RahulB 2014-10-31 08:43:18