我想使用AngularJS檢索JSON數組(字符串列表)。我創建了一個資源,就像這樣:AngularJS資源將無法與陣列
packageResource.factory('Package', ['$resource', function($resource) {
return $resource('/static/package.json', {}, {
'get': {
method: 'GET',
transformResponse: function (data) {
return angular.fromJson(data)
},
isArray: true
}
});
}]);
我的控制器是這樣的:
MainController = [
'$scope', 'Package', function($scope, Saved, Rules) {
$scope.package = (Package.get());
}
];
而且我的模板:
<ul>
<li ng-repeat="item in package">{{item}}</li>
</ul>
<p> {{package}}</p>
我希望它顯示的所有列表package.json數組中的項目,然後,爲了測試,我添加了{{package}}
並希望它打印內容,但是我得到:
- {}
- {}
- {}
- {}
- { 「0」: 「S」, 「1」: 「R」, 「2」: 「d」 }
JSON文件包含以下內容:
[1,3,6,"srd"]
但是,如果我將我的package.json更改爲一個對象,它可以很好地工作。例如:
{
"author": "John",
"name": "project",
"version": 1
}
和當然,改變isArray
到false
。我得到:
- 約翰
- 項目
所以看來有事不能處理數組,並軋液成一個對象。我無法弄清楚什麼 - 所有的Angular文檔都顯示了使用數組的資源和範圍,並且因爲他們不這樣做。我明確地將isArray: true
標誌添加到我的資源定義中,但沒有運氣。
我正在使用Angular版本1.0.8。我是一個完整的新手,所以這可能是一件很痛苦的事情,但我一直試圖讓這個工作一天以上。
什麼是列表,如果不是數組,用JSON術語? – mnemosyn
如何,確切地說,是一個不同於數組的列表? – Snowburnt
對不起,我是JavaScript和JSON的新手 - 這是我認爲是一個數組{「name」:「John」,「age」:20},而列表將是[1,2,4,6] 我使用錯誤的術語嗎?我使用JSON序列化器來產生我的輸出,所以我認爲我錯了,它是有效的JSON,是嗎? 好吧,我只是谷歌搜索 - 顯然我應該說對象而不是數組,而不是數組。抱歉!我現在不能編輯標題... –